为什么不是只执行一次

2019-03-24 08:19发布

2.png
我写了一个读写24C256的程序。
先往里写3个数据,再读出来。
如果和写的一致,就让指示灯闪烁一次。
我感觉我的程序执行结果,要么灯不闪,要么闪一次。
可是代码烧进去,灯不停滴闪。
我没有仿真器,只有烧写器。看门狗关闭了。
我搞不懂怎么回事?请高手指教,谢谢!上面的程序后面就是一个空的while循环了、



此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
wsmysyn
1楼-- · 2019-03-25 13:01
chenbingjy 发表于 2017-10-27 17:02
加分号和不加分号一样

1、确认开发板供电能力足够,不是产生了POR
2、尽量程序写短些,方便调试,其他无关的都注释掉,
3、关掉看门狗,外部中断等,避免进入中断
4、确定程序没问题,或者从汇编代码确认每一步执行的都是明确的,是你想要的结果
基本上也是这几步
今天刚好遇到了很奇怪的问题,8051内核的一个片子,编译生成都没问题,但是就是不符合预期,后来去看汇编代码发现有错误的地方。。少引用了一个库文件,导致编译出来的文件就是不正确的,只看keil编译生成没有警告没有报错还是不够的。。。
gs001588
2楼-- · 2019-03-25 16:30
 精彩回答 2  元偷偷看……
chenbingjy
3楼-- · 2019-03-25 16:44
wsmysyn 发表于 2017-10-27 17:14
1、确认开发板供电能力足够,不是产生了POR
2、尽量程序写短些,方便调试,其他无关的都注释掉,
3、关 ...

无关的去掉了,看门狗中断都关了。
只是没法调试。
wsmysyn
4楼-- · 2019-03-25 19:43
chenbingjy 发表于 2017-10-27 17:56
无关的去掉了,看门狗中断都关了。
只是没法调试。

手头没有示波器万用表等仪器么?
实在不行编写点灯程序也可以,
慢慢往上加代码,一步步排除,
总会有办法的。
ienglgge
5楼-- · 2019-03-25 23:51
 精彩回答 2  元偷偷看……
chenbingjy
6楼-- · 2019-03-26 03:20
ienglgge 发表于 2017-10-31 14:25
可以在一些地方,加串口打印信息。根据信息判断单片机是否不停重启。

已搞好。看门狗复位。
一开始关闭了看门狗,后来又打开了。

一周热门 更多>

相关问题

    相关文章