ATmega64看门狗问题
来源:互联网 发布:知乎有mac版吗 编辑:程序博客网 时间:2024/06/04 19:43
编译:Win AVR
调试:AVR Studio 4
问题:设置的看门狗是2秒中断,但实际明显小于两秒
发现问题过程:
使用片内的eeprom时,发现超过4个写语句不喂狗就会发生看门狗复位,然而设置的是看门狗2秒复位,4个写语句无论如何也不会花2秒的时间吧。
用AVR Studio 4调试,看了下WDTCR的值是0x08,这就不对了,按照初始化的设置应该是0x0f才对,怀疑看门狗设置写错了,查了写代码:
WDTCR = 0x18;
WDTCR = 0x0f;
看来看去就两行代码,也是按照手册里的方法写的,但试了好几AWDTCR 的值一直是0x08... ...
最后在Disassembler窗口里查看了下编译后的汇编代码,发现灰色部分的汇编代码里对WDCE和WDS写完“1”后有多条代码,使得写WDP的时候已经超过了手册要求的4个时钟周期:
这是手册里的要求,这里是安全级别1:
想了想用汇编写看门狗的的初始化应该靠谱,于是在c语言里嵌了汇编:
这是更改后的汇编代码,可以看到灰色字体的汇编代码和手册里的一致了:
实际测试结果和预计的一致了。
结论:使用c语言编写和单片机指令周期相关的代码时,如果出现问题可以查看下编译后的汇编代码是否符合时序,用嵌汇编的方式编写这部分代码是一种解决问题的途径!
阅读全文
0 0
- ATmega64看门狗问题
- 看门狗
- 看门狗
- 看门狗
- 看门狗
- 看门狗
- 看门狗
- 看门狗
- 看门狗
- 看门狗
- 看门狗
- 看门狗
- 看门狗
- 看门狗
- 看门狗
- 看门狗
- 看门狗
- 看门狗
- 服务器域名解析速度慢
- 网狐荣耀版或其它安卓项目出现Application cannot be exported due to the error(s) below.错误的处理方法
- 尝试用图像处理来实现UI设计稿的自动标注
- Kotlin全局函数的引入和范围
- java远程修改服务器配置文件
- ATmega64看门狗问题
- testng源码阅读之入口在哪
- Codeforces510E Fox And Dinner(最大流-奇偶建图+路径打印)
- 数据从业者必备的一些网站和工具
- jenkins+svn+tomcat 配置自动部署流程
- 9月30日云栖精选夜读:阿里巴巴摘得LSVC桂冠 打造领先AI视频技术
- tomcat启动成功,访问tomcat主页显示404
- Silver Cow Party POJ
- python3爬虫初探(一)之urllib.request