【STM32】RS485

RS485是常见的串口接口。

大部分图片来源:正点原子HAL库课程

专栏目录:记录自己的嵌入式学习之路-CSDN博客


目录

[1 串口、UART、TTL、RS232、RS422、RS485的关系](#1 串口、UART、TTL、RS232、RS422、RS485的关系)

[1.1 串口](#1.1 串口)

[1.2 UART、TTL、RS232、RS422、RS485](#1.2 UART、TTL、RS232、RS422、RS485)

[1.3 常见串口标准的比较](#1.3 常见串口标准的比较)

[2 RS485特征](#2 RS485特征)

[3 通信电路](#3 通信电路)

[4 RS485电平转换芯片(以TP8485为例)](#4 RS485电平转换芯片(以TP8485为例))

[5 配置](#5 配置)

[5.1 相关HAL库函数](#5.1 相关HAL库函数)

[5.2 配置步骤](#5.2 配置步骤)


1 串口、UART、TTL、RS232、RS422、RS485的关系

1.1 串口

串口是一个通讯时序的标准,它规定的仅仅是发送的数据位,要有启动位、有效数据位、校验位和停止位,然后启动位是逻辑0,停止位是逻辑1,以及发送时它们的先后顺序这些。

1.2 UART、TTL、RS232、RS422、RS485

UART、TTL、RS232、RS422、RS485之类的是串口的接口标准,我理解为关于电平协议,就是什么电平代表逻辑1,什么电平代表逻辑0等等。STM32输出的原生串口信号是CMOS电平的。

1.3 常见串口标准的比较


2 RS485特征

  • 使用差分信号传输,抗干扰能力强;
    • TTL、CMOS都是直接使用电平电压来构成逻辑1/0,但485使用A、B两线的压差来决定,在485线的电压被改变时,由于两线电压的改变被差分消除,因此抗干扰能力更强;
  • 具有强大的组网功能,在串口基础协议之上还制定MODBUS协议;
    • MODBUS协议:使用基本数据包组合成通讯帧格式的高层应用协议(基于数据包或字节);
  • 接口电平低,不易损坏芯片;
  • 传输效率高;
  • 传输距离远,支持节点多;

3 通信电路

  • RS485与别的串口不同,别的串口需要TX连接另一设备的RX、RX连接另一设备的TX。而485是A线连接A线,B线连接B线;
  • 需要连接匹配电阻以提高稳定性;
  • 芯片的COMS电平或TTL电平需要485收发器(电平转换芯片)进行响应的电平转换;
  • 连接一般使用双绞线以进一步抗干扰;

4 RS485电平转换芯片(以TP8485为例)

  • RS485的电平转换芯片的重要引脚:
  • R19和R22是两个偏置电阻,用来保证总线空闲时,UAB大于0.2V,避免压差不定导致逻辑混乱。
  • 收发的电平情况:

5 配置

5.1 相关HAL库函数

5.2 配置步骤

  • 其实就是和前面的串口基本一致,只不过需要自行配置并使用一个额外的GPIO口来选择485收发器的发送/接收模式;
相关推荐
宵时待雨12 分钟前
STM32笔记归纳9:定时器
笔记·stm32·单片机·嵌入式硬件
逐步前行12 分钟前
STM32_新建工程(寄存器版)
stm32·单片机·嵌入式硬件
bai5459361 小时前
STM32 CubeIDE 通过PWM占空比控制舵机角度
stm32·单片机·嵌入式硬件
松涛和鸣2 小时前
72、IMX6ULL驱动实战:设备树(DTS/DTB)+ GPIO子系统+Platform总线
linux·服务器·arm开发·数据库·单片机
简单中的复杂3 小时前
【避坑指南】RK3576 Linux SDK 编译:解决 Buildroot 卡死在 host-gcc-final 的终极方案
linux·嵌入式硬件
上海合宙LuatOS3 小时前
LuatOS核心库API——【audio 】
java·网络·单片机·嵌入式硬件·物联网·音视频·硬件工程
Hhh __灏3 小时前
stm32的SRAM内存不足如何分析和优化?堆栈空间如何优化?
单片机
LS_learner4 小时前
Snapd和Apt—Linux 上两种完全不同的软件包管理系统
嵌入式硬件
点灯小铭4 小时前
基于51单片机的双档交流电压表设计与实现
单片机·嵌入式硬件·毕业设计·51单片机·课程设计·期末大作业