stm32f107stm32串口偶校验数据位7位,偶校验,一位停止位。

他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)设串行异步传送的数据格式是7个数据位、1个起始位,1个停止位、1个校验位,波特率为2400,则每秒钟传送的_百度知道
设串行异步传送的数据格式是7个数据位、1个起始位,1个停止位、1个校验位,波特率为2400,则每秒钟传送的
我有更好的答案
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。AT89C2051单片机串口配置:起始位1位,数据位7位,校验位 1位偶校验,停止位1位,波特率9600怎么配置_百度知道
AT89C2051单片机串口配置:起始位1位,数据位7位,校验位 1位偶校验,停止位1位,波特率9600怎么配置
要用单片机跟一个控制器进行串口通信,控制器的数据格式如上所述,单片机这边应该怎么配置呢,求代码参考
我有更好的答案
最后把计算的偶校验位放在最高位发送。接收数据也做同样的处理起始位1位,数据位7位,校验位,1位偶校验,停止位1位,波特率9600,用AT89C2051单片机来配置,所差的是:数据位7位,校验位,1位偶校验,就单片机的方式1,最高位做偶校验位,再用软件来计算低7位数据的偶校验,无校验位的,如果接收时不考虑偶校验的话,也就是只保留低7位,把要发送的数据变成7位,而且单片机的串口也没有自动计算偶校验的功能。现在要求是7位数据,那只好用软件来实现了,还是用方式1,就才符合要求的,就比较容易了,接收的数据只要低7位就行,是8位数据
采纳率:91%
来自团队:
有些AVR好像也可以,51恐怕不行,7位数据,好像是没办法配置的,默认都是8位数据。好像有些32位的处理器可以配置5,6,7位数据2051
为您推荐:
其他类似问题
偶校验的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。查看: 9772|回复: 8
关于STM32串口奇偶校验的问题
主题帖子精华
中级会员, 积分 392, 距离下一级还需 108 积分
在线时间38 小时
以前都没用过奇偶校验,今天用了一下,发现问题了。
&摘自手册中的一段:&
偶校验:校验位使得一帧中的7或8个LSB数据以及校验位中’1’的个数为偶数。&
例如:数据=,有4个’1’,如果选择偶校验(在USART_CR1中的PS=0),校验位将
奇校验:此校验位使得一帧中的7或8个LSB数据以及校验位中’1’的个数为奇数。
例如:数据=,有4个’1’,如果选择奇校验(在USART_CR1中的PS=1),校验位将
传输模式:如果USART_CR1的PCE位被置位,写进数据寄存器的数据的MSB位被校验位替换
后发送出去(如果选择偶校验偶数个’1’,如果选择奇校验奇数个’1’)。如果奇偶校验失败,
USART_SR寄存器中的PE标志被置’1’,并且如果USART_CR1寄存器的PEIE在被预先设置的
话,中断产生。
注意红色部分,虽然括号里的不太明白什么意思,不过按照前面说的,数据的MSB被校验位替换了,那发出去的数据不就错了?
实际用串口助手测试,STM32串口启用奇校验,串口助手也打开奇校验,STM32向串口发送“AT”结果串口助手接收窗口显示“刘”(不包括引号)。不知各位怎么看?
主题帖子精华
初级会员, 积分 104, 距离下一级还需 96 积分
在线时间0 小时
奇偶校验是硬件完成,不用管过程。stm32用校验位时,数据位要选9位,8位会出错。
主题帖子精华
中级会员, 积分 392, 距离下一级还需 108 积分
在线时间38 小时
好吧,看上面的表格我明白了。。。
主题帖子精华
初级会员, 积分 70, 距离下一级还需 130 积分
在线时间8 小时
回复【2楼】xijiele:
---------------------------------
回复【2楼】xijiele:
---------------------------------
怎么回事?我也不太明白这里
主题帖子精华
初级会员, 积分 70, 距离下一级还需 130 积分
在线时间8 小时
回复【4楼】好人:
---------------------------------
谢谢了,用奇偶校验时,是不是发送数据的时候就不用在编程序去处理奇偶校验这块了?发送八位数据的话,数据位选九位,发送七位数据,数据位要选八位?
主题帖子精华
初级会员, 积分 104, 距离下一级还需 96 积分
在线时间0 小时
回复【5楼】乐在其中:
---------------------------------
是的.但我只用过8位的数据.我现在都不知道7位的数据是用在哪里.
主题帖子精华
初级会员, 积分 70, 距离下一级还需 130 积分
在线时间8 小时
ASCII码是七位的
主题帖子精华
中级会员, 积分 212, 距离下一级还需 288 积分
在线时间16 小时
我没有在手册里找到奇偶校验的资料,请问你具体是看的什么手册?谢谢
主题帖子精华
新手入门, 积分 18, 距离下一级还需 2 积分
在线时间1 小时
我有一个问题,STM32F1只有三种校验方式:无校验、奇校验和偶校验,没有常0和常1校验,不知道你们有没有什么解决方法,如果有源码就最好了
Powered by21ic官方微信-->
ST MCU Finder
安装免费手机应用,
寻找理想的ST MCU
请完成以下验证码
STM32串口不支持7个数据位,实现7数据位带奇偶校验有些麻烦
初级工程师, 积分 2033, 距离下一级还需 967 积分
初级工程师, 积分 2033, 距离下一级还需 967 积分
初级工程师, 积分 2033, 距离下一级还需 967 积分
初级工程师, 积分 2033, 距离下一级还需 967 积分
Modbus&ascii&协议默认是9600/7/E/1,如果用8/N/1来模拟,计算校验位麻烦且效率不高啊。&我移植了Free&Modbus到stm32上,只是还没有实现ascii&7&E&1&通讯格式。51的时候遇到这个问题,可以简单通过读Acc的P位快速得到校验位,stm32不知道有什么好办法没有。
, , , , , ,
STM32串口支持7个数据位带奇偶校验
请看我的两篇博客文章:第2篇博客的原始讨论在本论坛中:
初级工程师, 积分 2033, 距离下一级还需 967 积分
初级工程师, 积分 2033, 距离下一级还需 967 积分
初级工程师, 积分 2033, 距离下一级还需 967 积分
初级工程师, 积分 2033, 距离下一级还需 967 积分
测试过了,7E/7O/8N/8E/8O,都可以实现了。唯一不能实现的是7N
实习生, 积分 3, 距离下一级还需 47 积分
实习生, 积分 3, 距离下一级还需 47 积分
实习生, 积分 3, 距离下一级还需 47 积分
实习生, 积分 3, 距离下一级还需 47 积分
代码可以发来看看吗?我也在用这个》
扫描二维码,随时随地手机跟帖
精华达人奖章
等级类勋章
涓涓之细流
发帖类勋章
时间类勋章
技术奇才奖章
人才类勋章
荣誉元老奖章
等级类勋章
坚毅之洋流
发帖类勋章
时间类勋章
技术领袖奖章
人才类勋章
您需要登录后才可以回帖

我要回帖

更多关于 stm32f107中文手册 的文章

 

随机推荐