STM32:串口协议(内含:1.通信接口+2.串口通信+3.硬件电路+4.电平标准+5.串口参数及时序+6.串口时序)

简介: STM32:串口协议(内含:1.通信接口+2.串口通信+3.硬件电路+4.电平标准+5.串口参数及时序+6.串口时序)

1.通信接口:


TX引脚定时发送高低电平,RX引脚同一速率接收高低电平。每个字节的数据+起始站+停止位+校验位,即为帧,由TX传递给RX。


b253798c80684e1fa1e3ead7d75fe399.png


USART是串口通信,TX是数据发送脚,RX是数据接收脚。


SCL是时钟,SDA是数据。


MOSI是主机输出数据脚,MISO是主机输入数据脚。CS是片选,用于指定通信对象。


CAN_H,CAN_L DP(D+),DM(D-)都是一对差分数据脚。


全双工:通信双方能进行双向通信。一般两根通信线,如串口一根是TX发送,一根是RX接收。


时钟同步异步:是看有没有SCL或SCLK,如果有,就是同步时钟,没就是异步时钟。


电平单端:通信的线都要接GND,有电压差。


电平差分:靠两个差分引脚的电平差来传输信号。差分信号能极大提高抗干扰特性。所以传输速度,传输距离高,性能优越。


多设备:需要寻址,确定通信对象。


2.串口通信:


40fc1e4539b04e589faf5fd6c89e193e.png


注:单片机与电脑通信,是单片机的优点。单片机与单片机一般使用SPI,IIC通信等。


第一个是USB转串口模块(CH340),把串口协议转USB协议。


中间是陀螺仪传感器模块,测量角速度,加速度等姿态参数。左右各有四个引脚,分别是串口引脚和IIC引脚。


右边是蓝牙串口模块。


3.硬件电路:


bd5815c0bf3041f2b545adb992b1f0ee.png


注:GND要与TX,RX对比,产生单端电平,所以也属于通信线,但是VCC不是,只是供电,如果设备内部有供电,可不接。


4.电平标准:


88fec594d1bd4ed3905e3cf4fbf8c8ee.png


常用的就是TTL电平。


RS232电平一般用于工业,环境恶劣,可波动范围大。


理解:当TTL电平发送的电平和GNDV相差为0V,即为发送信号0。当TTL电平发送的电平和GNDV相差为3.3V,即为发送信号1。


5.串口参数及时序


a5e7b8db53c542a5ab41b2bb41b2f790.png


波特率:发送接收要提前约定接收数据的速率,如每秒发送几位,每秒接收几位,防止对数据解析产生偏差。波特率决定每个多久发送/接收一位。


起始位:没有电平时(图中空闲处),为高电平,起始位为0。


固定位:固定位为1,把引脚恢复为高电平。


数据位的低位先行:如发送0X0F,为0000 1111,发送时发送为1111 0000,对应图中(包含起始位停止位)为10 1111 0000 1。


校验位:校验可选择三种模式.分别是无校验(左图),奇校验(右图),偶校验(右图)。


奇校验:通过查找最后结果是否是期待的奇数个1。如传递为0000 1111,奇校验变为0000 1111 1。


如传递为0000 0111,奇校验变为0000 0111 0。为了保证校验结束1的个数为奇数。


6.串口时序:


cd0aaabe0dd548bfabf9ab7a5d682e6f.png


如左图上方第一个:波特率为9600,速度为1/9600,约为104us。


此处理解较为方便,不再赘述。


发送和接收功能,通过USB转串口可调整。


通过配置调整串口号等参数,接收模式可选择HEX模式和文本模式。HEX模式就是本身,文本模式就是每个字符对应的ASCII值,如41为,41 A


通过串口助手完成如下操作:


发送数据:STM32发送数据,串口数据显示


ca5720e18dc246bfa11354700d014db7.png


接收区:通过串口助手发送数据,OLED接收


150e0be871ff4b70a96d4d9f94b31058.png


相关文章
|
4月前
stm32f407探索者开发板(十七)——串口寄存器库函数配置方法
stm32f407探索者开发板(十七)——串口寄存器库函数配置方法
694 0
|
4月前
STM32CubeMX 串口收发一帧数据
STM32CubeMX 串口收发一帧数据
56 9
|
4月前
STM32CubeMX RS485接口使用
STM32CubeMX RS485接口使用
378 8
|
4月前
|
芯片
STM32CubeMX 串口数据收发
STM32CubeMX 串口数据收发
137 2
|
4月前
STM32CubeMX RS232接口
STM32CubeMX RS232接口
49 0
|
4月前
|
监控
stm32f407探索者开发板(十八)——串口通信实验讲解(USART_RX_STA流程图详解)
stm32f407探索者开发板(十八)——串口通信实验讲解(USART_RX_STA流程图详解)
269 0
|
4月前
stm32f407探索者开发板(十六)——串行通信原理讲解-UART
stm32f407探索者开发板(十六)——串行通信原理讲解-UART
262 0
|
4月前
|
传感器 编解码 API
【STM32开发入门】温湿度监测系统实战:SPI LCD显示、HAL库应用、GPIO配置、UART中断接收、ADC采集与串口通信全解析
SPI(Serial Peripheral Interface)是一种同步串行通信接口,常用于微控制器与外围设备间的数据传输。SPI LCD是指使用SPI接口与微控制器通信的液晶显示屏。这类LCD通常具有较少的引脚(通常4个:MISO、MOSI、SCK和SS),因此在引脚资源有限的系统中非常有用。通过SPI协议,微控制器可以向LCD发送命令和数据,控制显示内容和模式。
156 0
|
6月前
|
传感器 存储 缓存