[应用相关] 怎么收发数据

[复制链接]
1136|18
 楼主| bbapple 发表于 2019-12-7 10:40 | 显示全部楼层 |阅读模式
stm32f4串口,7位数据位,奇校验,怎么收发数据呢? 一直用的8位数据位,7位的没用过,请教各位大侠???
handleMessage 发表于 2019-12-7 10:42 | 显示全部楼层
设置下寄存器TxCTL就行了。。。
zhouhuanの 发表于 2019-12-7 10:44 | 显示全部楼层
是啊,能设置是8位数据还是7位数据的。。。
wanglaojii 发表于 2019-12-7 10:45 | 显示全部楼层
对呀,这个是可以设置的。。
laozhongyi 发表于 2019-12-7 10:47 | 显示全部楼层
看UART的寄存器部分啊 写的清清楚楚的
Edisons 发表于 2019-12-7 10:49 | 显示全部楼层

比如UCTL0=PENA+PEV+CHAR;然后把要发送的数据给TXBUF0就可以自动发送就校验位了么?
_gege 发表于 2019-12-7 10:51 | 显示全部楼层
收时是不是只需验证URCTL0的PE和RXERR是否为1就可以知道校验是否正确了么?
Mozarts 发表于 2019-12-7 10:52 | 显示全部楼层
其实datasheet上写的很清楚,下载一个用户手册就可以啦
Listate 发表于 2019-12-7 10:54 | 显示全部楼层
如要校验,PENA就设置,然后PEV为1就偶校验,为0就奇校验,不过不校验,就PENA为0即可
feiqi1 发表于 2019-12-7 10:56 | 显示全部楼层
每个数据包使用7位数据怎么样有问题吗?
androidbus 发表于 2019-12-7 10:58 | 显示全部楼层
1个起始位+7个数据位+1个停止位
litengg 发表于 2019-12-7 11:00 | 显示全部楼层
“7位数据位串行通信”估计是“1个起始位+7个数据位+1个偶校验位+1个停止位”这种方式
qiangweii 发表于 2019-12-7 11:02 | 显示全部楼层
数据帧一般为8位数据+1停止位
shashaa 发表于 2019-12-7 11:04 | 显示全部楼层
异步帧格式由1个起始位、7或8个数据位、校验位
xia00 发表于 2019-12-7 11:05 | 显示全部楼层
UCAxMCTL这个控制吗?
hfdy01 发表于 2019-12-7 11:07 | 显示全部楼层
要发7位的数据只能用程序模拟发送时序。。。
CallReceiver 发表于 2019-12-7 11:08 | 显示全部楼层
先将待发字节放入ACC中,再将P标志位(PSW.0)搬至ACC.7,最后将ACC赋给SBUF,发出7位数据及1个偶校验位。
handleMessage 发表于 2019-12-7 11:10 | 显示全部楼层

这个应该通信方式都差不多的吧。
zhouhuanの 发表于 2019-12-7 11:12 | 显示全部楼层
楼主是需要校验数据对吗?
可以通过CRC校验实现。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

293

主题

1811

帖子

1

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