基于A393开发板(SS928)的RS485串口调试

项目背景:

项目背景:基于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定义的宏。

在这里插入图片描述

问题解决,波特率正常,收发正常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值