社区导航

 
查看: 1879|回复: 0

[求助] atmega644 看门狗疯狂重启!!!一条疯狗啊

[复制链接]

4

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2012-8-9 09:46:32 | 显示全部楼层 |阅读模式
不说,直接上我的代码:

void WDT_Init(void) // 看门狗初始化
{
    //WDTCSR = 0x00; // 关闭看门狗
    //CLR_BIT(MCUSR, WDRF); // 看门狗复位标志清零
    asm("wdr"); // 复位WDT(喂狗)
    WDTCSR = ( (1 << WDCE) | (1 << WDE) ); // 使能看门狗修改
    WDTCSR = (1 << WDE) | (1 << WDP2) | (1 << WDP1); // 使能看门狗, 溢出时间~1s(Vcc = 5V)
}

然后在主程序主循环里面,我会加上    asm("wdr"); // 复位WDT(喂狗)

然后发现上电就疯狂重启,狗狗疯了!

谁能告诉我这是为什么啊?

我用的是atmega644芯片!



我要疯了啊,644芯片这么恶心啊?我以前用ATmega64就不会这样。

我也直接上64的看门狗程序,在64芯片上是正常能跑的,所以我拷贝到644了,结果居然疯狂饿死狗?

void WDT_Init(void)
{
        WDR();//复位WDT(喂狗)
        WDTCR = (1 << WDCE) | (1 << WDE);//使能看门狗修改
        WDTCR = 0x0F;//使能看门狗,溢出时间~1.8s(Vcc = 5V)
}

主程序主循环有                WDR();//复位WDT(喂狗)
此帖出自单片机论坛

ATMega644.pdf

7.55 MB, 下载次数: 3



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2018-12-17 02:33 , Processed in 0.073671 second(s), 17 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表