串口通信的工作原理 串口数据哥格式
串口概念简单理解,串口就是单片机(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,传输从低位开始


推荐阅读
- 河蚌体内珍珠的形成过程是
- 12w灯泡一小时耗电量
- 10h是什么意思
- 猫屎咖啡是真的猫屎吗
- 牛肉是属于发的东西吗
- 辣椒酱的制作方法及配料
- 监控不显示画面怎么办
- 13妖什么牌
- 苹果x手机电池容量是多少
- x和xs外观区别是什么
