X
首页
技术
模拟电子
单片机
半导体
电源管理
嵌入式
传感器
最能打国产芯
应用
汽车电子
工业控制
家用电子
手机便携
安防电子
医疗电子
网络通信
测试测量
物联网
最能打国产芯
大学堂
首页
直播
专题
TI 培训
论坛
汽车电子
国产芯片
电机驱动控制
电源技术
单片机
模拟电子
PCB设计
电子竞赛
DIY/开源
嵌入式系统
医疗电子
颁奖专区
【厂商专区】
【电子技术】
【创意与实践】
【行业应用】
【休息一下】
最能打国产芯
活动中心
直播
发现活动
颁奖区
电子头条
参考设计
下载中心
分类资源
文集
排行榜
电路图
Datasheet
最能打国产芯
微控制器 MCU
[原创] 【分享】关于喂狗
ccstc
2012-8-15 11:28
楼主
喂狗,也就是在看门狗定时器溢出之前对其进行清零的操作。
网上和书里对喂狗的介绍不多,大部分都只说使用“WDTCTL = WDTPW + WDTCNTCL;”即可。一般使用起来没什么问题,但是当不使用默认的看门狗时钟源和分频系数之后,问题就来了。(以G2XXX系列,SMCLK=1M,ACLK=32K为例)直接使用“WDTCTL = WDTPW + WDTCNTCL;”喂狗之后,看门狗就被重置成复位状态,看门狗复位时间就变成了32ms,如果远小于你的喂狗时间,程序就没法正常工作了,典型表现为定时重新启动。仔细查看WDTCTL寄存器之后,就能发现问题。
要正确喂狗最好的办法就是不改变原有看门狗配置的情况下将WDTCNTCL置1。这样看来,简单的就是“WDTCTL |= WDTPW + WDTCNTCL;”,其中需要注意的是WDTPW位读出来是0x69,而需要写入的是0x5A,实际上0x69|0x5A=0x7B,这就造成了在喂狗的时候,密码错误造成单片机重启。所以正确的喂狗语句就初始化看门狗的语句。当然如果想使用通用的喂狗语句,“WDTCTL = WDTPW + WDTCNTCL + (WDTCTL & 0x00FF);”应该是最正确的(其中(WDTCTL & 0x00FF)是用来获取看门狗配置的)。
点赞
回复评论 (4)
沙发
elulis
好帖子!分析的很清晰透彻!
Python全文搜索引擎:<url>http://code.google.com/p/ming-search/</url>
点赞
2012-8-15 15:13
板凳
457887107
我用的都是
WDTCTL = WDTPW + WDTHOLD 啊
点赞
2012-8-16 10:18
4楼
ccstc
回复 板凳 457887107 的帖子
WDTCTL = WDTPW + WDTHOLD
这个是停止看门狗,不是喂狗
点赞
2012-8-16 15:25
5楼
lyzhangxiang
430头文件已经很清新了 喂狗一般直接加上时间(头文件里面都处理过了)
点赞
2012-8-16 15:56
最新活动
有奖直播报名中!抢占工业4.1先机 文晔科技日等你来!
2024 瑞萨电子MCU/MPU工业技术研讨会——深圳、上海站, 火热报名中
罗姆有奖直播 | 重点解析双极型晶体管的实用选型方法和使用方法
STM32N6终于要发布了,ST首款带有NPU的MCU到底怎么样,欢迎小伙们来STM32全球线上峰会寻找答案!
免费下载 | 安森美电动汽车充电白皮书,看碳化硅如何缓解“里程焦虑”!
是德科技有奖直播 | 应对未来高速算力芯片的设计与测试挑战
随便看看
跳槽攻略:一个公司待多久合适?
matlab程序怎么在DSP上运行
交叉编译Ncurses库出错,CC求助~~~
LED的驱动
HAL库和STD库的选择
cortex-m0用外设4*4的键盘接入后按下键在cortex-m0的显示器显示
寻找无线解决方案
大赛必备超强51单片机知识
(转)片上总线Wishbone 学习(一)片上总线综述
合理避让:支持无缝通信、无干扰的车对万物设计
初学者-求教:EVC4.0进行开发时,总是出现“ERROR”错误提示信息
物联网与安防
求电子设计方面的书籍推荐
大家一起来对电脑开关电源分析!
V4L2
配置案例-ModbusTCP转Profinet网关连接拧紧轴驱动器
物联网开发板对对碰系列之八——Arduino 101介绍和MicroBit对战
wince 启动错误
浅议RFID技术在快递行业的应用
简洁的过零调功器
电子工程世界版权所有
京B2-20211791
京ICP备10001474号-1
京公网安备 11010802033920号
回复
写回复
收藏
回复