搜索
bottom↓
回复: 13

定时器工作,主循环不工作,是跑飞了吗?

[复制链接]

出0入0汤圆

发表于 2019-9-16 16:31:06 | 显示全部楼层 |阅读模式
mega88单片机:
故障现象:随机出现 显示内容卡死,不更新了,
测试发现:PWM调亮度正常,定时器1输出IO变化正常
分析:PWM调亮度正常,说明定时器1正常,AVR中断都是默认独占的,不设置的话不能嵌套和打断,所以,不可能卡死在外部中断,串口中断,定时器中断。
所以感觉卡死在主函数while(1)里面了,但是主函数里没有其他的whie循环,只有串口发送有两个while,如下,但是卡住后串口都为高电平,所以又感觉不像是串口。
感觉是程序跑飞了,有大神遇到这种现象吗?
PS:至于看门狗,程序里用错了,没起到作用,主循环置位标志,然后定时器喂狗,但是标志忘清零了,汗。。。。
void Sendc(uint8 data1)  
{      
  while(!(UCSR0A&(1<<UDRE0)));
  UDR0=data1;                  
}
//字符串发送函数
void SendS(uint8 *dat)
{
  while(*dat != '\0')         
{
   Sendc(*dat);        
   dat++;                 
}
Sendc(13);
}

程序结构如下:
定时器1中断()
{
时间数据更新。
亮度调整PWM。
}
外部中断1()
{
读芯片时间
}
串口接收中断
{
接收模块M时间,更新芯片时间。
(每次接收1字节)
}
主函数:
while(1)
{
1.显示程序()
  2.整秒执行程序
{
  发送命令查询模块M时间。
  如果一直收不到时间,重启时间模块M.
}
3.运行指示灯闪烁
}

出0入0汤圆

发表于 2019-9-16 16:35:00 | 显示全部楼层
主循环不工作,中断工作,程序飞了

出0入0汤圆

发表于 2019-9-16 16:37:04 | 显示全部楼层
定时器喂狗,狗就成了摆设。

出0入0汤圆

发表于 2019-9-16 16:44:09 | 显示全部楼层
参考楼上

出0入25汤圆

发表于 2019-9-16 16:58:55 | 显示全部楼层
有中断没有清除标志?

出0入4汤圆

发表于 2019-9-16 17:04:53 | 显示全部楼层
不是飞了,是你的程序有问题,跳不出死循环了吧?可以仿真下看看

出0入0汤圆

发表于 2019-9-16 18:11:26 来自手机 | 显示全部楼层
很明显中断出不来,出来了又进去了

出100入85汤圆

发表于 2019-9-16 20:14:52 来自手机 | 显示全部楼层
不该中断的地方发生了中断

出0入0汤圆

 楼主| 发表于 2019-9-18 09:25:16 | 显示全部楼层
cumt_123456 发表于 2019-9-16 17:04
不是飞了,是你的程序有问题,跳不出死循环了吧?可以仿真下看看

程序里没有死循环,只有串口发送那个while,其他都没有

出0入0汤圆

 楼主| 发表于 2019-9-18 09:26:23 | 显示全部楼层
xyhh4 发表于 2019-9-16 18:11
很明显中断出不来,出来了又进去了

定时器中断正常工作啊能出来能再入,没有进外部中断,

出0入0汤圆

发表于 2019-9-18 09:34:52 | 显示全部楼层
中断占用的时间过长,造成主程序反映迟钝

出0入0汤圆

发表于 2019-9-18 09:42:19 | 显示全部楼层
出不去定时器中断了,或者频繁进定时器中断了

出0入0汤圆

 楼主| 发表于 2019-9-18 09:56:05 | 显示全部楼层
kap 发表于 2019-9-18 09:34
中断占用的时间过长,造成主程序反映迟钝

中断只有二三十行,除了引脚和变量操作,没有什么别的东西了,没有循环。

出95入100汤圆

发表于 2019-9-18 10:26:09 | 显示全部楼层
定时器不能喂狗,会死的
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-18 16:39

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表