你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

USART串口奇偶校验通讯不上

[复制链接]
scfor123456 提问时间:2019-11-13 19:33 /
软件中配置为8-N-1,8-N-2通讯格式,可成功通讯,但选择为8-E-1,8-O-1都通讯不了,仿真看USART1-CR1的PCE和PS位都能对上,这是哪里的问题?或者说配置PCE位需要注意什么?
收藏 评论12 发布时间:2019-11-13 19:33

举报

12个回答
mylovemcu 回答时间:2019-11-14 08:13:43
选择奇偶校验需要用9的数据位  切记切记

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

scfor123456 回答时间:2019-11-14 09:01:12
mylovemcu 发表于 2019-11-14 08:13
选择奇偶校验需要用9的数据位  切记切记

你的意思是USART需要配置为9位数据位,奇偶校验位;如果不需要奇偶校验位,则改为8位数据位,这样理解对吗?
mylovemcu 回答时间:2019-11-14 09:07:23
scfor123456 发表于 2019-11-14 09:01
你的意思是USART需要配置为9位数据位,奇偶校验位;如果不需要奇偶校验位,则改为8位数据位,这样理解对 ...

是的
sky_han 回答时间:2019-11-14 09:07:36
当奇偶校验通信时,下面寄存器要设置成9 位数据长度,寄存器M值为1.因为通信的时候会发送8 bit data+1 bit 奇偶校验位,所以是9位长度。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

慎微 回答时间:2019-11-14 09:13:02
首先,设置接收、发送的方式都相同,如TX,8-E-1,RX 也要 8-E-1
其次,检查是否 线过长【搞短线试下】,或有干扰源【加屏蔽】,以致奇偶校验不行。
scfor123456 回答时间:2019-11-14 11:49:54
改了数据位9位,不行。CR1的设置也是对的,M0=1,M1=0,PCE=1。我上位机用的串口调试助手,在其他机器上奇偶校验是可以用的。
七哥 回答时间:2019-11-14 13:05:06
用示波器看一下波形吧。
看看你板子发送时的波形,与标准串口发送的波形,在发送相同数据的时候有什么不一样。
scfor123456 回答时间:2019-11-14 14:28:21
问题找到了,数据改为9位后,RDR寄存器的数据只能读取低8位,第9位是校验位。ST的USART设计真奇怪,谁关心RDR的校验位是什么,完全可以放到其他地方不要占用接收数据寄存器位。
mylovemcu 回答时间:2019-11-14 15:13:12
scfor123456 发表于 2019-11-14 14:28
问题找到了,数据改为9位后,RDR寄存器的数据只能读取低8位,第9位是校验位。ST的USART设计真奇怪,谁关心R ...

改成9位以后,读数据还是正常读就可以了,这块感觉设计的确实不好,我第一次碰上也是折腾了好久

你是用的寄存器???没有用库函数读吗???
scfor123456 回答时间:2019-11-14 16:56:36
mylovemcu 发表于 2019-11-14 15:13
改成9位以后,读数据还是正常读就可以了,这块感觉设计的确实不好,我第一次碰上也是折腾了好久

你是用的 ...

我全部是自己写的函数,RDR在有校验的时候,数据在低8位,我是按16位读的,所以出现错误,按8位读就是正确的数据。
蓝夜 回答时间:2019-11-15 08:58:22
scfor123456 发表于 2019-11-14 14:28
问题找到了,数据改为9位后,RDR寄存器的数据只能读取低8位,第9位是校验位。ST的USART设计真奇怪,谁关心R ...

你的意思是 校验位还占用一个数据位?不应该这样啊,一般说的几位数据就是说的有效数据 不包括校验位
scfor123456 回答时间:2019-11-15 09:20:31
疾风 发表于 2019-11-15 08:58
你的意思是 校验位还占用一个数据位?不应该这样啊,一般说的几位数据就是说的有效数据 不包括校验位 ...

是的,资料上也是这么写的。
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版