时间去哪了?
时间:10-02
整理:3721RD
点击:
最近碰到一个问题,关于定时器中断的。现在我需要用PIC16F1828的定时器0准确定时40s,采用一个计时变量A(uint型),每0.05s增加1,并判断A是否等于800来确定时间。如果在中断服务函数里判断A的值,当A等于800时,具体经过的时间会达到80s。但是A等于400时,时间又是20s。如果在while(1)里判断A的值,则A等于800时,经过的时间是40s。
不知道是什么原因,多出来的这段时间单片机在执行什么程序?
uchar 范围是0-255
800在就超范围出错
uchar有自己的范围,可能是编译器导致的,还是换成uint吧。
是发帖的时候写错了,A本来就是uint型的~
