打印

output_time在大于delay_time后有溢出

[复制链接]
617|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
spark周|  楼主 | 2016-3-1 21:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

用单片机定时器做可调1-10S延时程序;小弟现在定时器定10ms;如
void   T2_temp_10ms(void) interrupt 5   using  2
{   
    TF2=0;
    output_time++;             //output_time是int型
}
外面输出程序写的是
if(output_time>=delay_time)                                                                                                           //delay_time 是采的可调变阻器1-1000的值做1- 10s
     {                               //delay_time是一个在1-1000之内的固定值 如400;
       ACTION  =  1;
     }
else
   {
      ACTION   =  0;
   }
但是现在的问题是output_time在大于delay_time后有溢出。

相关帖子

沙发
午夜粪车| | 2016-3-1 21:51 | 只看该作者
在《output_time==delay_time》的时候ACTION保持在 1;
而不是每1-10S循环ACTION=1;

使用特权

评论回复
板凳
spark周|  楼主 | 2016-3-1 21:55 | 只看该作者

不知道用定时器能不能做

使用特权

评论回复
地板
lizye| | 2016-3-1 22:00 | 只看该作者
可以换一个写法,
比如在定时时间到时给output_time清零,让它重新计时。
  ACTION   =  0; 这条语句放在另外的地方,让它和output_time没有关系。

使用特权

评论回复
5
jiaxw| | 2016-3-1 22:02 | 只看该作者
可以在 中断服务程序中:
  {
    TF2=0;
    if(output_time<65534)
       output_time++;             //output_time是int型
  }
但 此时output_time必须在 外部主程序中, 有条件地清0(关键LZ的目的是什么,要搞清楚)

使用特权

评论回复
6
spark周|  楼主 | 2016-3-1 22:04 | 只看该作者
哦,我考虑下

使用特权

评论回复
7
午夜粪车| | 2016-3-1 22:06 | 只看该作者
没给output_time清0当然会溢出

使用特权

评论回复
8
huangchui| | 2016-3-1 22:08 | 只看该作者
做嵌套循环的。

使用特权

评论回复
9
spark周|  楼主 | 2016-3-1 22:09 | 只看该作者
哦,我再改改

使用特权

评论回复
10
i1mcu| | 2016-3-7 21:59 | 只看该作者
是不是外面的程序执行时间过长?

使用特权

评论回复
11
i1mcu| | 2016-3-7 22:00 | 只看该作者
如果中断时间过短,则不能产生这样的信号

使用特权

评论回复
12
cemaj| | 2016-3-10 22:32 | 只看该作者
变量的匹配好了吗

使用特权

评论回复
13
cemaj| | 2016-3-10 22:34 | 只看该作者
有溢出一般都是变量没有控制好,或者米有清楚

使用特权

评论回复
14
i1mcu| | 2016-3-14 21:41 | 只看该作者
楼主这是为什么溢出?

使用特权

评论回复
15
i1mcu| | 2016-3-14 21:43 | 只看该作者
是计算超出变量范围了吗

使用特权

评论回复
16
51xlf| | 2016-3-14 21:46 | 只看该作者
你的参数值=0在哪里呢?

使用特权

评论回复
17
51xlf| | 2016-3-14 21:50 | 只看该作者
应该是达到某个数值之后,参数=0吧?

使用特权

评论回复
18
firstblood| | 2016-3-15 22:26 | 只看该作者
是10ms定时溢出还是?不然的话定时够了就先清零的吧

使用特权

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

本版积分规则

821

主题

10121

帖子

4

粉丝