打印

STM32串口通信,数据位如何设置7位?

[复制链接]
8530|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gaobq|  楼主 | 2010-7-7 17:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
做一个串口通信,协议要求:9600,7,N,2,STM32控制器的数据位只有8和9两种选择,有什么方法设置其为7位?
沙发
香水城| | 2010-7-7 17:15 | 只看该作者
设置数据位为8位、1个停止位,再设置每个发送字节的最高位为"1",去掉收到字节的最高位即可。这样每个字节的最高位自动变成1个停止位。

使用特权

评论回复
板凳
秋天落叶| | 2010-7-8 10:44 | 只看该作者
LS这样设置,数据位是7位?

使用特权

评论回复
地板
gaobq|  楼主 | 2010-7-9 13:41 | 只看该作者
有个MODbus通信协议的设备,要求如此。

使用特权

评论回复
5
香水城| | 2010-7-9 13:43 | 只看该作者
LS这样设置,数据位是7位?
秋天落叶 发表于 2010-7-8 10:44


达到了数据位是7位的效果,更重要的是它能够与数据位是7位的设备正常通信。

使用特权

评论回复
评论
sensiki 2018-12-26 10:30 回复TA
你这样不可以,在接收多字节7N1数据时,除去第一个字节其它全部不对。字节之间没有空闲时序就错乱了 
6
zxm19820916| | 2016-8-24 09:50 | 只看该作者
是的,接收的时候直接去掉最高位,&0x7F,就OK。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

172

主题

827

帖子

5

粉丝