程序执行几秒后卡死!!

2019-10-16 05:56发布

我用STM32f103的RTC做了一个用LCD显示的时钟,但是程序执行后十几秒后无缘无故就卡死了,按什么键都不管用,但是卡死之后过一段时间,程序就会恢复执行,然后过一段时间又会卡死,一直循环,这是为什么??只要主循环里有LCD显示,就会出现这种情况,把LCD显示去掉,程序就不卡死了。求大神帮!!

我用的是TFT3.5寸彩屏
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
ljz1987cj
1楼-- · 2019-10-16 06:53
仿真跟一下
Kathy
2楼-- · 2019-10-16 08:35
ljz1987cj 发表于 2016-11-30 12:03
仿真跟一下

我单步调试的时候并不会出现卡死的状态,只有全速运行的时候会出现,我并不知道是在哪卡死的。
还有,LCD显示以5HZ运行时,会出现卡死,如果直接把LCD显示放在主函数中一直刷新,就不会卡死了。
ljz1987cj
3楼-- · 2019-10-16 13:14
 精彩回答 2  元偷偷看……
Kathy
4楼-- · 2019-10-16 15:07
ljz1987cj 发表于 2016-11-30 12:16
那你刷新放中断了?

还是在主函数里,TIM3每1ms中断一次使time+1,
主函数中:
while(1){
  if(time==200)
  {
      LCD_Show_Data();
      time=0;
  }
}       //这个会卡死

如果:
while(1)
{
   LCD_Show_Data();
}                 //这样就没事
如果卡死后等一会就会接着运行。。
d1z1y2
5楼-- · 2019-10-16 20:50
改为1Hz试试           time=1000
Kathy
6楼-- · 2019-10-16 22:19
d1z1y2 发表于 2016-11-30 12:37
改为1Hz试试           time=1000

还是不行,只能把lcd显示直接放在主函数里。。

一周热门 更多>