微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 时间去哪了?

时间去哪了?

时间: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型的~

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top