一种关于单片机定时器中断和数码管冲突问题的解决方案
问题发现
我们会发现,同时存在定时器中断和数码管操作时,有时会导致数码管显示异常。
原因探究
.在定时器中断函数中不要操作P2和P1,因为定时器(T)和主板(M)的时钟频率不一样。有可能导致M刚操作完P2,T又去操作P0,导致正确的P2和P0没有成对出现,会造成数码管重影、闪烁之类的“异步冲突”。
解决方案
在《计算机操作系统》课程中,我们采用信号量机制来协调这种“互斥”操作。但是单片机里面我们只需要在定时器中断里面操作标志变量K,在M中判断K的值根据K值不同做出不同的操作。这样操作P2和P0的操作就全在M
原创
2022-03-29 09:05:12 ·
3581 阅读 ·
0 评论