我有个疑问:当cnt=1000时,执行循环中的语句,当中断触发时进入中断,执行动态刷新数码管程序,但是万一跳出去时,LedBuff[5]这个数组没有计算更新完的话,那么进入中断时位选数码管但是赋给P0的值没有更新到最新的值岂不是会有数码管秒数显示错误?除非一个理由可以解释,就是程序执行那一段32位整型数的除法运算的运行时间小于1ms,但是我调试了代码发现这段32位整型数的除法运算程序运行时长长达3ms,希望大佬指点一下
ahshmj 发表于 2020-1-8 17:05
每秒大于25次扫描就不会感觉到频闪。也就是40ms一次。这个时间够长的了。如果有长延时循环,就要用定时器, ...
wulin 发表于 2020-1-8 21:36
你这不是中断,是查询中断请求标志。如果执行if内语句超过1ms会造成计时不准,超时过多还会引起数码管闪烁 ...
1997肖 发表于 2020-1-11 15:21
大佬,我这段代码贴错了,后面进行了补充,劳烦再帮我看看指点一下小弟
wulin 发表于 2020-1-11 22:16
1.你想象的没错,中断会打断主程序的运行。缓存数组每秒更新一次,显示函数1ms刷新1位,6ms刷新1轮。如果 ...
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |