STM32串口数据长度设置问题

2019-08-14 07:41发布

本人新手,使用的是STM32F103RE芯片,遇到一个问题如下:使用STM32芯片的开发板与外部串口通讯,当两边都设置为波特率9600,数据位8位,停止位1位,校验方式无校验时,可正常通讯并读取数据;但是当将外部串口的校验方式修改为奇校验或者偶校验,开发板也设置为相同的校验方式时,发现无法通讯。后来发现问题,并将开发板的数据位设置为9位时,即可再次正常通讯,直观上可以判断STM32的校验位是算在数据位里面的(即数据位为8位,校验方式为偶校验时,前7位是有效数据位,第8位是校验位或者8位都是有效数据,无校验位),有哪位大神能够跟我解释一下串口参数的应用原理,或者贴上一份资料,不胜感激
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
执迷
1楼-- · 2019-08-14 10:47
数据手册里面不是有、、、、、、、
djfkdjf
2楼-- · 2019-08-14 14:21
本帖最后由 djfkdjf 于 2017-6-21 23:51 编辑
执迷 发表于 2017-6-12 08:46
数据手册里面不是有、、、、、、、

谢谢,找到了
djfkdjf
3楼-- · 2019-08-14 17:58
再分享自己的一点小收获,因为STM32没有常0和常1校验,所以如果需要的话可以自己写,比如数据位是8位的,将串口设置数据位为9位,然后把第9位设置成0或者1,通过串口发送出去就可以了
hasaki
4楼-- · 2019-08-14 21:53
 精彩回答 2  元偷偷看……
djfkdjf
5楼-- · 2019-08-14 23:53
hasaki 发表于 2017-6-23 15:59
常0和常1是奇偶校验吗??

跟奇偶校验一个类型,校验方式不一样

一周热门 更多>