rs485串口通讯为半双工模式,接受数据时需要将控制端电平拉低,
发送数据时,将控制端电平拉高。
然而,在发送数据的时候存在一个现象,最后一位数据总是不能成功发送。
为什么?
在串口发送的时候,只是mcu判断发送标志位有没有被置位,置位就说明发送完成,
但是这个时候数据只是离开了mcu,rs485还没有发送出去,然而这个时候我将这个控制端电平拉低,就导致485不能将最后一位数据发送出去。
解决办法:
延时几ms再讲电平拉低,就可以解决这个问题。
rs485串口通讯为半双工模式,接受数据时需要将控制端电平拉低,
发送数据时,将控制端电平拉高。
然而,在发送数据的时候存在一个现象,最后一位数据总是不能成功发送。
在串口发送的时候,只是mcu判断发送标志位有没有被置位,置位就说明发送完成,
但是这个时候数据只是离开了mcu,rs485还没有发送出去,然而这个时候我将这个控制端电平拉低,就导致485不能将最后一位数据发送出去。
延时几ms再讲电平拉低,就可以解决这个问题。