# Drivers/BSP/RS485/ — RS-485 半双工通信驱动 > RS-485 半双工收发驱动:DE(发送使能)方向控制 + 收发时序管理。 > 配合 `App/task/rs485_task.c` 与 `App/util/crc.c`、`App/util/ringbuf.c` 组成完整协议栈。 ## 文件一览 | 文件 | 作用 | |---|---| | `rs485.c/h` | 驱动初始化、DE 引脚方向切换、收发缓冲管理 | ## 硬件接口 - **UART5**:PC12 TX / PD2 RX / **PD0 DE**(发送使能,低=接收、高=发送) ## 关键点 - **半双工**:发送前拉高 DE 并等待发送完成,发送后立即拉低 DE 切回接收 - 方向切换时序与波特率相关——切换过快会截断末字节,过慢会阻塞总线 - 接收经 `ringbuf`(SPSC 无锁环形缓冲)缓冲,供协议层解析 ## 相关文档 - 协议工具:`App/util/crc.c`、`App/util/ringbuf.c` - 任务实现:`App/task/rs485_task.c` - 硬件引脚:根 `README.md`「外设接口」