单片机主程序跑飞,定时器还正常工作吗

[复制链接]
8603|30
 楼主| 创隆电子 发表于 2014-8-15 09:27 | 显示全部楼层 |阅读模式
单片机主程序跑飞,定时器还正常工作吗?单片机程序跑飞了以后,定时器还会工作是吧??定时器里面控制的一些数据会是什么样了呢?变得了吗?比如定时器中让某一变量++;或是某一IO口变化,还会执行的了吗
wangch_sh 发表于 2014-8-15 09:31 | 显示全部楼层
跑飞了,就难讲了。
 楼主| 创隆电子 发表于 2014-8-15 09:35 | 显示全部楼层
谢谢,期待更多的解答,多年来碰到最头疼的事,虽然给客户换了新设备就行了,但就是查不出问题出在哪里
gx_huang 发表于 2014-8-15 09:37 | 显示全部楼层
跑飞了,定时器大部分还会继续运行。
除非跑飞后,恰好关闭了定时器,或者开启了其它优先级更高的中断,不过概率很低的。
siyida 发表于 2014-8-15 09:37 | 显示全部楼层
单片机主程序跑飞,你还能定义程序的地址码
 楼主| 创隆电子 发表于 2014-8-15 09:52 | 显示全部楼层
大致程序如下;
t0()(简写吧)
{
    TR1=0;
     TR0=0;//关
     th0=XX;
     tl0=xx;//赋值
     变量N++;
     if(n==5000)
       {
           p0.2=0;
            p0.1=0;
         ET0=0;
        
       }
   else
       {           
            TR0=1;
            
         }
TR1=1;
}
TR1(定时器1)
{
    显示N;
}
 楼主| 创隆电子 发表于 2014-8-15 09:55 | 显示全部楼层
出现故障后变现为,定时器中显示的N也是5000;定时器1也正常工作,定时器0也停止了,但是P0口没有输出
南宫云明 发表于 2014-8-15 09:56 | 显示全部楼层
定时器一般很难跑飞。。。除非操作过定时器寄存器。
 楼主| 创隆电子 发表于 2014-8-15 10:00 | 显示全部楼层
咋跑飞的呢?为什么P0口没有输出呢?操作是在定时器里面呀?定时器不跑飞,P0口就应该有输出呀,如果t0跑飞,N的数据也应该不会正常里呀
ningling_21 发表于 2014-8-15 10:05 | 显示全部楼层
创隆电子 发表于 2014-8-15 10:00
咋跑飞的呢?为什么P0口没有输出呢?操作是在定时器里面呀?定时器不跑飞,P0口就应该有输出呀,如果t0跑飞 ...

没用WTG吧,什么MCU? 抗干扰差?
wangch_sh 发表于 2014-8-15 10:06 | 显示全部楼层
单独测试P0口呢?
旭日东起 发表于 2014-8-15 10:07 | 显示全部楼层
跑飞了,什么不合理的情况都会出现的
cjseng 发表于 2014-8-15 10:17 | 显示全部楼层
主程序跑飞,只要没关闭定时器,定时器照样能工作的。
 楼主| 创隆电子 发表于 2014-8-15 10:29 | 显示全部楼层
STC的用了多年了
 楼主| 创隆电子 发表于 2014-8-15 10:29 | 显示全部楼层
大家推荐一款更好的,价格不怕高
 楼主| 创隆电子 发表于 2014-8-15 10:30 | 显示全部楼层
51内核,12T的
ayb_ice 发表于 2014-8-15 10:31 | 显示全部楼层
那要看跑飞的具体情况

你在最高优先级中断里跑飞了,基本就挂了
m564522634 发表于 2014-8-15 11:08 | 显示全部楼层
感觉跑飞了就不好判断了吧
wsnsyy 发表于 2014-8-15 11:29 | 显示全部楼层
跑飛了還能知道單片機到底在幹嘛嗎
醉别 发表于 2014-8-15 11:48 | 显示全部楼层
创隆电子 发表于 2014-8-15 09:55
出现故障后变现为,定时器中显示的N也是5000;定时器1也正常工作,定时器0也停止了,但是P0口没有输出 ...

跑飞的话,触发T0中断进T0服务程序, N++之后N为5001,条件不满足P0不会被赋值,T0中断也没有被关闭。你这个N应该在主程序或者中断中有修改的吧,不然T1中断应该不会一直显示5000。指针溢出很容易跑飞。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

42

主题

338

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部