文章插图
![串口通讯数据格式 串口通信数据格式](http://img.hubeilong.com/220625/011K45933-0.jpg)
文章插图
串口概念
简单理解,串口就是单片机(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,传输从低位开始
- 怎样与plc连接 plc与plc之间如何通讯
- 大数据的意思 大数据的理解
- 虚拟机里安装数据库 虚拟机linux系统安装mysql
- 阿里云存储怎么收费的 阿里云数据存储价格
- sql数据库安装教程为什么一定要重启计算机 sql数据库安装教程2012
- mysql的基本介绍 简要阐述mysql数据库的特点
- excel丢失的数据恢复 如何找回excel丢失的数据
- ajax请求的数据格式 ajax传输数据格式有哪些
- 分布式数据处理技术 大数据分布式处理怎么理解
- 大数据需要什么语言 大数据开发用的什么语言