打印
[PIC®/AVR®/dsPIC®产品]

时间去哪了?

[复制链接]
626|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 追梦的阿土哥 于 2016-4-12 12:27 编辑

      最近碰到一个问题,关于定时器中断的。现在我需要用PIC16F1828的定时器0准确定时40s,采用一个计时变量A(uint型),每0.05s增加1,并判断A是否等于800来确定时间。如果在中断服务函数里判断A的值,当A等于800时,具体经过的时间会达到80s。但是A等于400时,时间又是20s。如果在while(1)里判断A的值,则A等于800时,经过的时间是40s。

     不知道是什么原因,多出来的这段时间单片机在执行什么程序?


沙发
Latin_newday| | 2016-4-10 15:47 | 只看该作者
uchar 型值能到800么?

使用特权

评论回复
板凳
littleming1028| | 2016-4-11 16:51 | 只看该作者
400估计也到不了...

使用特权

评论回复
地板
mcumail| | 2016-4-12 09:05 | 只看该作者
用uint定义计时变量

使用特权

评论回复
5
追梦的阿土哥|  楼主 | 2016-4-12 12:26 | 只看该作者
噢,搞错了,A是uint型的数据

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

38

帖子

2

粉丝