打印
[技术问答]

M0518系列单片机串口怎么处理9位数据位

[复制链接]
947|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
新之塔|  楼主 | 2020-5-21 15:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 新之塔 于 2020-5-21 16:28 编辑

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

使用特权

评论回复
沙发
gejigeji521| | 2020-5-21 21:31 | 只看该作者
8位才是通用做法。

使用特权

评论回复
板凳
gejigeji521| | 2020-5-21 21:34 | 只看该作者
数据位长度可设为5~8位。
支持RS-485 9位模式

使用特权

评论回复
地板
gejigeji521| | 2020-5-21 21:35 | 只看该作者
如果你非要9位,解决方法就是自定义,通过IO模拟时序。

使用特权

评论回复
5
gejigeji521| | 2020-5-21 21:37 | 只看该作者
给你找个官方提供的软串口例子
EC_M051_SoftwareUART_V1.00 (1).zip (2.58 MB)

使用特权

评论回复
6
antusheng| | 2020-5-22 09:06 | 只看该作者
自己用IO实现

使用特权

评论回复
7
598330983| | 2020-5-22 13:32 | 只看该作者
这种特殊的只能软件模拟

使用特权

评论回复
8
zhuomuniao110| | 2020-5-22 22:02 | 只看该作者
楼主搞定了吗,怎么用模拟实现这个

使用特权

评论回复
9
新之塔|  楼主 | 2020-5-26 17:00 | 只看该作者
gejigeji521 发表于 2020-5-21 21:34
数据位长度可设为5~8位。
支持RS-485 9位模式

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

使用特权

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

使用特权

评论回复
11
天灵灵地灵灵| | 2020-5-26 19:31 | 只看该作者
新之塔 发表于 2020-5-26 17:00
RS-485模式是可以9位,但我有个疑问,他依然还是CMOS电平?还是使用485的电平做高低电平? ...

485应该是差分信号吧。

使用特权

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

本版积分规则

1

主题

3

帖子

0

粉丝