串口通信的工作原理 串口数据哥格式
串口概念简单理解,串口就是单片机(MCU)与相关芯片串行通信的接口,所谓串行,就是数据每位按顺序进行传输 。
相关概念空闲位:MCU和外设如果不进行数据传输时,数据线发送空闲位,空闲位为高电平
起始位:MCU和外设如果要传输数据,首先要发送起始位为低电平有效,一个bit位
数据位:MCU和外设数据传输时,有效的数据位数有效位数:5/6/7/8,一般选择8bit
奇偶校验位:用来指示数据传输是否发生异常,有效位数为一位
校验方式有三种:
奇校验(odd)、偶校验(even)、不校验(none)
停止位:MCU和外设如果要停止数据传输,只需发送停止位即可
有效位数为1位或者2位,高电平有效
波特率:MCU和外设数据传输时的速率
工作模式单工:MCU和外设数据传输时,只能朝一个方向进行
半双工:MCU和外设数据传输时,可以双向,但是同一时刻只能朝一个方向
全双工:MCU和外设数据传输时,可以同时双向进行
此时此刻需要2根数据线!一根用于发送数据TX,一根用于接收数据RX,一般UART采用全双工 。
举例说明MCU(单片机)给BT(蓝牙模块)发送0x95(10010101)数据并且数据校验采用奇校验,发送过程如下:
发送端:
1.MCU将0x95发送给BT
2.MCU计算0x95中1的个数(4个1,4为偶数)
3.由于1的个数是4偶数,而现在采用奇校验所以校验位应该补1(4+1=5奇数)所以MCU最后向BT发送校验位的值为1
【串口通信的工作原理 串口数据哥格式】接收端:
1.BT首先将0x95接收到
2.BT计算0x95中1的个数为4(偶数)
3.BT再次接收CPU发送的校验位1
4.BT进行匹配,BT发现数据中1的个数为偶数,并且CPU发送的校验位为1所以BT认为CPU发送的数据没有异常(如果采用不校验,CPU和外设无需发送校验位)
上面例子时序图分析MCU向BlueTooth发送0x95数据为例,UART的工作参数为:
波特率:115200, 数据位8 停止位1 奇校验
0x95对应的二进制10010101,传输从低位开始

文章插图
推荐阅读
- 限电拉闸上热搜 聪明的投资者从中看到了什么?
- 荒野乱斗雪梨值得培养吗 荒野乱斗中的雪梨值得升级吗
- 江南百景图如何交易品 交易的时候要注意什么
- 我的世界头盔极品附魔 我的世界头盔附魔什么好
- 低自尊人格的特点 往往具有这四种特点
- 适合猛男的王者名字两字 两个字的王者名字霸气
- 游戏工会名字 好听的游戏公会名称
- 剑与远征凄风谷地没有蝴蝶怎么过 有什么通关的技巧
- 王者单机模式时有时无 王者单机模式时有时无的原因和解决办法
- 描写凤凰花开的句