搜索

[技术问答] M0518系列单片机串口怎么处理9位数据位

[复制链接]
232|10
 楼主 | 2020-5-21 15:53 | 显示全部楼层 |阅读模式
本帖最后由 新之塔 于 2020-5-21 16:28 编辑

同是M0内核,以前写过STM32F0系列的串口可以设置9位串口,M0518系列的串口最多设置8位,该怎么设置处理呢?

使用特权

评论回复
| 2020-5-21 21:31 | 显示全部楼层
8位才是通用做法。

使用特权

评论回复
| 2020-5-21 21:34 | 显示全部楼层
数据位长度可设为5~8位。
支持RS-485 9位模式

使用特权

评论回复
| 2020-5-21 21:35 | 显示全部楼层
如果你非要9位,解决方法就是自定义,通过IO模拟时序。

使用特权

评论回复
| 2020-5-21 21:37 | 显示全部楼层
给你找个官方提供的软串口例子
EC_M051_SoftwareUART_V1.00 (1).zip (2.58 MB, 下载次数: 9)

使用特权

评论回复
| 2020-5-22 09:06 | 显示全部楼层
自己用IO实现

使用特权

评论回复
| 2020-5-22 13:32 | 显示全部楼层
这种特殊的只能软件模拟

使用特权

评论回复
| 2020-5-22 22:02 | 显示全部楼层
楼主搞定了吗,怎么用模拟实现这个

使用特权

评论回复
 楼主 | 2020-5-26 17:00 | 显示全部楼层
gejigeji521 发表于 2020-5-21 21:34
数据位长度可设为5~8位。
支持RS-485 9位模式

RS-485模式是可以9位,但我有个疑问,他依然还是CMOS电平?还是使用485的电平做高低电平?

使用特权

评论回复
 楼主 | 2020-5-26 17:11 | 显示全部楼层
在普通串口模式下,我尝试使用8位数据位+校验位来完成9位数据位,但实行后不行,我不清楚他的校验位是否占据数据位的最高位。因为在STM32里的校验位就是数据位的最高位,在STM32里,若是8位数据位+校验位的话,实际是只有7位数据位和1位校验位的。
我看了下RS-485模式下,可以支持9位,第9位也是用校验位来实现的,但我想知道这个检测电平是485的电平还是单片机的CMOS电平?

使用特权

评论回复
| 2020-5-26 19:31 | 显示全部楼层
新之塔 发表于 2020-5-26 17:00
RS-485模式是可以9位,但我有个疑问,他依然还是CMOS电平?还是使用485的电平做高低电平? ...

485应该是差分信号吧。

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表