初学stm32 --- RS485

梳理:串口、 UART、TTL、RS232、RS422、RS485关系

串口是一个泛称,UART、RS232、RS422和RS485都遵循类似的通信时序协议,被通称为串口。

UART是STM32的UART外设,由此产生串口时序,产生的电平为CMOS电平 。

TTL、RS232、RS422、RS485是串行通信接口标准。简单来说,就是逻辑1和0的表示不同。

RS485介绍

RS485是串行通信标准,使用差分信号传输,抗干扰能力强,常用于工控领域。

RS485具有强大的组网功能,在串口基础协议之上还制定MODBUS协议。

串口基础协议:仅指封装了基本数据包格式的协议(基于数据位)

MODBUS协议:使用基本数据包组合成通讯帧格式的高层应用协议(基于数据包或字节)

RS485总线连接图

RS485通信电路

485****通信波形图

RS485相关HAL****库驱动介绍

RS485****配置步骤

1,配置串口工作参数

HAL_UART_Init()

2,串口底层初始化

配置GPIO、NVIC、CLOCK等

3,开启串口异步接收中断

__HAL_UART_ENABLE_IT()

4,设置优先级,使能中断

HAL_NVIC_SetPriority()、 HAL_NVIC_EnableIRQ()

5,编写中断服务函数

USARTx_IRQHandler(),HAL_UART_Receive()

6,串口数据发送

USART_DR, HAL_UART_Transmit()

相关推荐
哄娃睡觉6 小时前
stm32 mcu SWD和SPI下载模式有什么区别?
stm32
xiebs_6 小时前
0127TR
单片机·嵌入式硬件
A9better8 小时前
嵌入式开发学习日志50——任务调度与状态
stm32·嵌入式硬件·学习
草丛中的蝈蝈10 小时前
STM32向FLASH写入数据后,重新读出的数据和原写入数据不一致
stm32
DLGXY11 小时前
STM32——EXTI外部中断(六)
stm32·单片机·嵌入式硬件
LEEE@FPGA11 小时前
zynq 是不是有了设备树,再linux中不需要编写驱动也能控制
linux·运维·单片机
CQ_YM11 小时前
ARM之I2C与ADC
arm开发·嵌入式硬件·嵌入式·arm
同志啊为人民服务!12 小时前
RS485通信,无法进入中断处理程序,问题分析过程
单片机·编译器·rs485·中断处理程序
LCG米13 小时前
开发环境搭建:告别Keil,用CLion+STM32CubeMX打造智能嵌入式IDE
ide·stm32·嵌入式硬件
Hello_Embed13 小时前
Modbus 协议报文解析
笔记·stm32·单片机·学习·modbus