- 打卡等级:以坛为家II
- 打卡总天数:587
- 最近打卡:2025-12-18 12:29:34
论坛元老
- 积分
- 3807
|
根据您的描述,实际上是两种情况,
几年前的那次,单片机能响应串口屏的指令,也能发出正确的数据,但数据波形叠加了很多噪声窄脉冲.导致串口屏收不到数据.这应该是强干扰窜入电路引起的问题,跟程序和单片机无关,同样噪声条件下单片机能收到正确指令,但串口屏收不到,说明串口屏抗干扰能力还要差一些.
这一次的出现的问题跟以往不一样.没有强干扰环境下出现的单片机异常发送.并且是偶发问题,很难复现.所以不知如何解决.
针对这类偶发的异常状态,可以两种办法应对;
1,尝试在程序里设置软件陷阱,一旦进入这种状态,触发陷阱,就立刻保存当前跟串口通讯相关的寄存器状态和变量值.后面可以通过分析这些数据来判断问题点.
2,也可以不深究导致异常发生的原因,只针对异常发生后的状态进行补救,比如重新初始化串口配置和缓冲区数据,也可以设置软件重启.只要不影响产品使用就可以.
|
|