问题描述:stm32芯片带一路485设备,通过modbus协议通信,其中stm32为主设备,读取到的数据混乱,断开485设备,通过串口调试助手监测stm32发出的数据正常,连接485设备后,将usb转485设备并到485总线中监测数据正常,断开usb转485后数据异常。
解决方案:通过并入或者断开usb转485设备对总线数据产生了影响,怀疑为硬件导致的,万用表测总线电阻值(正常为防止信号反射会在485总线上并联两个120Ω的电阻)发现电阻值不为60Ω,经测量是485设备电阻选型错误导致。更改电阻后通信正常。
总结:为防止信号反射需要增加终端电阻,但只需485总线的一头一尾增加,保证并联电阻为60Ω即可。