和单片机通讯异常
原因分析 6
数据被干扰,影响通讯,或者本身单片机程序有问题了,发送的指令错误。
解决方法:
用串口引线监测的办法。
这种方法听上去难,其实需求的设备极其简单,非常容易操作。如图所示,是市面上一款常见的USB转TTL、RS232、RS485的通讯小板子,测试方法参考:例如测试某个TTL通讯的数据是否正常,将小板子和电脑的USB口插上,驱动安装完成后,用杜邦线m接着转接板的GND,用杜邦线n接着转接板的RXD,杜邦线另外一头最好用工头的(方便用两只手可以戳着代测试引脚进行测量),将m和n两根线另一头分别接着串口屏的GND和RXD(或TXD),这样控制板在给屏发数据的时候,就能够捕捉到经过单片机发给屏的数据了,用串口工具收取之后进行分析查看。(这种方法适用于分析、排查各类与通讯不正常的故障原因)
例如:TTL通讯屏和电脑能通讯、控制板和电脑也能通讯,但是屏和控制就是通讯不上。
解决方法:
不妨用示波器测量下波形,如果电路输出的高电平低于3.3V,分一下a、b两种情况去考虑。
a、这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值,上拉电阻也能增强抗干扰能力。一般情况下,串口通信用TTL连接的时候,因这种连接的通信距离很近(建议控制50cm以内),极易受到干扰。为了消除TTL线上的干扰,所以,除了两个脚上加5-10K的上拉电阻,还再接一个小容量的电容,是可以滤到高频干扰脉冲。这种接法可以看成是阻容滤波电路。
b、测量是否由于负载原因,给控制板通讯芯片供电电压过低了,导致的输出电平也变低。