单片机.RS485

1.RS485 概述

基于硬件有线连接的数据传输方式,主要用于工业场景

  • RS485/RS232都是串行通信方式
  • RS232 电气稳定性较差,传输距离较远。RS485 稳定性好,传输距离远
  • RS485 需要两个数据线进行传输,对应 RS485 A 和 RS485 B,与 MCU 通过差分线连接

2.为什么要用 RS485

  • 传输距离较远,理论值 1200 m,可以通过中继节点可以延续距离】
  • 传输速度较快,最高可达 10Mbps (1.25MB/s),使用最大速度时传递距离较近
  • RS485 可以连接多个设备,理论上可以连接 32 个 RS485 设备
  • RS485 芯片通信成本和设备成本较低

3.RS485 发送数据和接收数据方式

RS485 通过 A B 两个端子进行数据发送和接收

A端子电平 - B 端子电平 > 200mV 发送或接收1

B端子电平 - A 端子电平 > 200mV 发送或接收0

RS485 发送数据时,一般情况下都会将发送高电平对应当前 RS485 供电电压,范围是 3.3V~6V

判断规则依赖于时钟周期,需要提供指定的 波特率

4.原理图分析

5.实现分析

RS485 对应 USART2

USART2_TX ==> PA2 复用推挽输出功能

USART2_RX ==>PA3 浮空输入模式

RS485 芯片发送数据模式和数据接收模式控制引脚

RS485_RE/DE ==> PD7 通用推挽输出模式

代码实现过程:

时钟使能:GPIOA GPIOD USART2

引脚配置:PA2 PA3 PD7

USART2 功能配置:8N1 数据帧格式、波特率、使能 RX 和 TX 功能、使能中断 RXNE 和 IDLE 、配置中断 USART2_IRQn 和 USART2_IRQHandler

MCU 数据发送:RS485 发送数据时将 DE/RE 电平拉高,PD7 输出高电平

数据发送完成必须将 DE/RE 电平拉低,PD7 输出低电平,等待接收

MCU 数据接收:利用 USART2 中断处理函数完成,需要处理 IDLE 和 RXNE

相关推荐
深圳市九鼎创展科技2 小时前
瑞芯微 RK3399 开发板 X3399 评测:高性能 ARM 平台的多面手
linux·arm开发·人工智能·单片机·嵌入式硬件·边缘计算
辰哥单片机设计2 小时前
STM32项目分享:车辆防盗报警系统
stm32·单片机·嵌入式硬件
小龙报3 小时前
【51单片机】从 0 到 1 玩转 51 蜂鸣器:分清有源无源,轻松驱动它奏响新年旋律
c语言·数据结构·c++·stm32·单片机·嵌入式硬件·51单片机
范纹杉想快点毕业3 小时前
嵌入式与单片机开发核心学习指南——从思维转变到第一性原理的深度实践
单片机·嵌入式硬件
Industio_触觉智能4 小时前
瑞芯微RK3566开发板规格书,详细参数配置,型号EVB3566-V1,基于RK3566核心板SOM3566邮票孔封装
嵌入式硬件·开发板·rk3568·rk3566·核心板·瑞芯微
czwxkn4 小时前
4STM32(stdl)TIM定时器
stm32·单片机·嵌入式硬件
Love Song残响4 小时前
NVIDIA显卡终极优化指南
stm32·单片机·嵌入式硬件
qq_672592754 小时前
电源芯片为什么发热
单片机·嵌入式硬件
天天爱吃肉82184 小时前
【跨界封神|周杰伦×王传福(陶晶莹主持):音乐创作与新能源NVH测试,底层逻辑竟完全同源!(新人必看入行指南)】
python·嵌入式硬件·算法·汽车
国科安芯5 小时前
抗辐照MCU在精密时频系统中的单粒子效应评估与可靠性验证
单片机·嵌入式硬件·架构·制造·安全性测试