5 Star 41 Fork 24

Acuity / stm32-uart-dma

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

STM32高速串口通信DMA收发实现


测试平台

平台 主频 BSP库 串口
STM32F030C8T6 48MHz 标准库 UART1、UART2
STM32F103ZET6 72MHz 标准库 UART1、UART2
STM32H743XIH6 400MHz HAL/LL库 UART5
STM32F407VCT6 168MHz HAL/LL库 UART1

实现功能

  • 收/发环形缓冲区
  • 不定长度接收处理
  • 高速(1.5Mbps)通信不丢数据

关键实现

DMA发送模式

  • 线程循环查询发送环形缓冲区数据,然后启动MDA传输

  • DMA传输完成中断,连续发送

  • 定时器中断周期发送


DMA接收模式

  • DMA缓存半满中断(如CPU硬件支持,可使用DMA双缓存机制)
  • DMA缓存传输完成中断
  • 串口空闲中断实现

其他

更详细的描述过程参考文章一个严谨的STM32串口DMA发送&接收(1.5Mbps波特率)机制

空文件

简介

STM32串口DMA模式发送&接收实现,高速串口通信(1.5Mbps)不丢数据 展开 收起
C 等 5 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
C
1
https://gitee.com/Prry/stm32-uart-dma.git
git@gitee.com:Prry/stm32-uart-dma.git
Prry
stm32-uart-dma
stm32-uart-dma
master

搜索帮助