社区导航

 
快捷导航
  • 首页
  • 论坛
  • 查看新帖
  • 最新回复
  • 精华区
  • 社区活动
  • 联系管理员
  • 消灭零回复
  • E金币兑换
搜索
查看: 1634|回复: 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


回复

使用道具 举报

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

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

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

GMT+8, 2017-9-21 13:12 , Processed in 0.226243 second(s), 18 queries , Redis On.

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