项目背景:
项目背景:基于A393开发板(SS928)的嵌入式linux实验。
实验:搭建简易RS485通讯客户端。
问题描述
提示:这里描述项目中遇到的问题:
例如:客户端向PC端发送数据时出错,数据损坏。
PC端串口工具:
原因分析:
波特率
可能未成功设置
使用ssty命令调整波特率。
/mnt # stty -F /dev/ttyAMA3 115200
可以看到一个周期约为8.6us,1/115200约等于8.6us,波特率设置成功。数据发送测试也成功。
说明是程序中波特率设置有问题。
波特率设置函数为cfsetospeed
配置结构体中,baud_rate为整型115200.
解决方案:
termios.h
中波特率常量如B9600
,B115200
等是预定义的.
baud_rate
的值改为B115200,这样一个 termios.h
定义的宏。
问题解决,波特率正常,收发正常。