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


相关文章
|
8月前
|
数据可视化 关系型数据库 MySQL
嵌入式C++、STM32、MySQL、GPS、InfluxDB和MQTT协议数据可视化
通过本文的介绍,我们详细讲解了如何结合嵌入式C++、STM32、MySQL、GPS、InfluxDB和MQTT协议,实现数据的采集、传输、存储和可视化。这种架构在物联网项目中非常常见,可以有效地处理和展示实时数据。希望本文能帮助您更好地理解和应用这些技术,构建高效、可靠的数据处理和可视化系统。
452 82
|
8月前
|
存储 安全 数据安全/隐私保护
STM32 Customer BootLoader 刷新项目 (一) STM32CubeMX UART串口通信工程搭建
本文介绍了基于STM32的Customer BootLoader刷新项目的第一部分:使用STM32CubeMX搭建UART串口通信工程。项目采用正点原子探索者v2开发板,通过USB串口与上位机通信,实现固件刷新功能。主要内容包括: 1. 硬件原理图介绍:详细描述了开发板的串口连接方式及电路图。 2. STM32CubeMX工程搭建:从创建新工程、配置系统时钟、USART串口设置到生成代码,一步步详细说明。 3. 代码编写:展示了如何使用HAL库实现串口接收和发送数据,并提供了main.c的完整代码。 4. 工程下载和调试:编译并下载工程到开发板,通过串口调试助手验证通信功能。
STM32 Customer BootLoader 刷新项目 (一) STM32CubeMX UART串口通信工程搭建
stm32f407探索者开发板(十七)——串口寄存器库函数配置方法
stm32f407探索者开发板(十七)——串口寄存器库函数配置方法
1663 0
STM32CubeMX 串口收发一帧数据
STM32CubeMX 串口收发一帧数据
202 9
STM32CubeMX RS485接口使用
STM32CubeMX RS485接口使用
1447 8
|
芯片
STM32CubeMX 串口数据收发
STM32CubeMX 串口数据收发
450 2
|
传感器 存储 缓存
STM32CubeMX RS232接口
STM32CubeMX RS232接口
331 0