打印
[AVR单片机]

关于MAGE8硬件看门狗

[复制链接]
2703|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
SDCW|  楼主 | 2009-9-17 14:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教各位MAGE8硬件看门狗如何喂狗?
我是这样操作的但是不行,请问是哪里不对,谢谢!!
1、在熔丝位设置硬件看门狗
2、初始化程序:
_WDR();
WDTCR = ((1 << WDTOE) | (1 << WDE)); /*启动时序*/
WDTCR&=~(1<<WDCE);
WDTCR|=((1<<WDP2)|(1<<WDP1)|(1<<WDP0));//启动狗
3、喂狗程序:
_WDR();

相关帖子

沙发
NE5532| | 2009-9-17 22:05 | 只看该作者
你哪个地方不行?

使用特权

评论回复
板凳
SDCW|  楼主 | 2009-9-19 12:12 | 只看该作者
喂狗不行

使用特权

评论回复
地板
zhujw2002| | 2009-9-22 10:08 | 只看该作者
WDTCR = ((1 << WDTOE) | (1 << WDE)); /*启动时序*/
WDTCR|=((1 << WDE)|(1<<WDP2)|(1<<WDP1)|(1<<WDP0));//启动狗

使用特权

评论回复
5
SDCW|  楼主 | 2009-9-22 21:38 | 只看该作者
我试过这样写法,结果狗不能启动。

使用特权

评论回复
6
Karlshen| | 2009-9-22 23:57 | 只看该作者
再检查一下其他的吧

使用特权

评论回复
7
zhujw2002| | 2009-9-23 09:08 | 只看该作者
不会吧,把WDTCR|= 改成 WDTCR=应该就可以了。
下面是我这边的用法,使用没有问题,你再试试
WDTCR = (1 << WDCE)|(1 << WDE)|(1 << WDP2)|(1 << WDP1);
WDTCR = (1 << WDE)|(1 << WDP2)|(1 << WDP1);

使用特权

评论回复
8
lovelyegle| | 2009-9-23 12:31 | 只看该作者
为啥那么改?讲讲道理

使用特权

评论回复
9
SDCW|  楼主 | 2009-9-25 14:03 | 只看该作者
谢谢!zhujw2002的热心,但是还是不行。
请问:再检查一下其他的吧,是指检查哪里?(软件狗可以启动也可以喂狗)

使用特权

评论回复
10
xuxindd| | 2009-9-25 15:12 | 只看该作者
记得在哪看过,m16的定义WDTCR时不能用&和|之类的  要直接赋值

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

61

主题

222

帖子

3

粉丝