串口通讯中,代码使用串口通信之前需要保证串口好用。
系统的命令测试:
配置串口:stty -F /dev/ttyS6 ispeed 9600 ospeed 9600 cs8
查看串口配置 : stty -F /dev/ttyS6 -a
或者 setserial -g /dev/ttyS6
---------------------------------------------------------
全部挂载串口:
cat /proc/tty/driver/serial
-----------------------------------------------------------
串口连接设备偶尔出现异常,导致发送数据无法从串口缓冲区都出去,造成输入循环区满
write接口会堵塞住,程序卡住。
解决办法:
判断此异常,发送的数据没有相应的数据返回,一个循环后,使用tcflush将输入缓冲区丢弃。