公告:

STM32F407与串口屏幕通信死机的解决办法

作者:智凡单片机 / 时间:4个月前 (11/10) / 分类:STM32 / 阅读:1113 / 评论:0

最近在一个项目中用到了stm32f4芯片,显示屏幕用的是迪文的串口屏,测试过程中会出现莫名死机的问题,死机之前串口显示数据为零。主要考虑到系统中有多个直流水泵与步进电机,还有几个外部中断接传感器,怀疑是中断异常卡死,由于手头工具有限,只做了一下几种测试 与相关解决办法。

STM32F407与串口屏幕通信死机的解决办法 STM32F407与串口屏幕通信死机的解决办法 STM32

1.继电器跟步进电机 跟换为 mos管与光耦隔离方式,效果比较明显。但是,有一款大电流水泵工作时,同步显示数字,时间一长,还会造成死机。
2.水泵工作时,关闭所有中断, 效果没有改善。
3.水泵工作时,屏幕停止显示,不会出现死机现象。
通过以上测试判断为串口屏幕通讯过程中发生的异常。
1.清除串口错误标志位。无显著效果。
2.准备找个串口工具进行测试,解决办法会发到下面评论处
原因找到了,是为了显示效果,在开水泵的时候,屏幕显示进入循环了 。变成了不会停止的递归效果。。多加了两个标志位解决。
总结:光电隔离对电机干扰起到的作用是巨大的。。关键时候关闭中断可以起到一定的作用。如果需要使用外部中断功能。一定要做电源抗干扰处理。最好软件做多重判断。。如果板子已经定型。最好放弃外部中断。使用定时器中断加外部电平检测。


没有评论,留下你的印记,证明你来过。


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。