标题: 单片机电子时钟程序似乎是跑飞了? [打印本页]

作者: zhengaohui    时间: 2018-12-26 08:41
标题: 单片机电子时钟程序似乎是跑飞了?
程序可以正常跑个2-3十分钟的样子吧,到后来偶尔就会暂停下来,中间的小点都不闪烁了,时间也不增加,就停那边了,时钟芯片3231没有问题,每当我将电源断开再插上就好了,又恢复正常的走时了,请问大概是什么原因造成的呢?


作者: mrhan1992    时间: 2018-12-26 10:18
可以调试一下看看,数码管停止刷新的时候程序运行情况,检查一下时钟获取的函数或者设置数码管部分的函数有没有问题
作者: robinsonlin    时间: 2018-12-26 10:24
定时多久核对一次时钟? 从现象看起来像校时的时候,屏幕刷新没有执行。 是不是哪个中断开关没有关好?
作者: zhengaohui    时间: 2018-12-26 10:54
robinsonlin 发表于 2018-12-26 10:24
定时多久核对一次时钟? 从现象看起来像校时的时候,屏幕刷新没有执行。 是不是哪个中断开关没有关好?

没有中断刷新时间,一直是while不断刷新
作者: 带智带勇    时间: 2018-12-26 19:51
是不是打开了某个中断,但是没有响应和清除中端标志,导致程序一直进入中断,造成死机假象。
作者: xzyyglyt    时间: 2018-12-27 00:31
如果是汇编语言的话,可能是调用子程序后子程序没有返回指令。我前不久就遇到过。C语言不懂,会不会也有这类情况?
作者: qweqwe99    时间: 2018-12-27 09:42
汇编语言不行的话就用c语言试试
作者: 10357    时间: 2018-12-27 13:59
它比较有自己的想法
作者: 周超然    时间: 2018-12-27 17:12
你的程序里面有没有数组?是不是溢出了?
还有就是加个看门狗就行了
作者: 凌净清河    时间: 2018-12-30 20:33
看一下缓存的变量是不是用的太小了,导致接收大的数值发生溢出。再看一下和3231的通信时序有没有累积误差之类的。
作者: 累不死的狗    时间: 2019-1-3 23:23
发程序来看一下啊
作者: 累不死的狗    时间: 2019-1-3 23:24
很有可能是你电路供电上的问题影响了芯片工作




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1