STM32H7——HAL库的DMA双缓冲配置使用

一. 前言

现在ST出的芯片性能越来越强大,对应的程序也是越来越复杂,为了让芯片功能的开发更加的容易,他们推出了Cube MX这款用于配置相关芯片HAL库程序基础工程的一个不错的软件,虽然存在bug不过一直在完善,近些年来这个软件也是越发的人性化了,当然毕竟没有标准库发展的时间长,网络上对于HAL库的讲解和资料也不是很全面,新手入门用HAL显然不是很明智,而对于习惯了标准库却又想用性能更强的芯片的朋友这个HAL库太乱,我也是研究了好久才弄明白这个HAL库使用和配置的方法,我将以笔记的形式来记录每一种有意思的配置操作。这篇是关于DMA双缓冲接收的配置方案(发送大家可以试着配置一下),大家可以获取我上传的配置文件来更容易理解讲的内容.配置文件的下载链接

二.软硬件版本信息

STM32Cube Mx 5.30
Keil 5.29.0.0
STM32H750XB

三.使用Cube MX配置工程

1.配置时钟

在这里插入图片描述
在这里插入图片描述

2.配置串口1

在这里插入图片描述
加入DMA
在这里插入图片描述
使能串口中断
在这里插入图片描述

3.生成工程


div align=center

四.配置生成的工程

1.配置串口空闲中断

在这里插入图片描述

	__HAL_UART_ENABLE_IT(&huart1,UART_IT_IDLE);//使能串口空闲中断

只需这个一句就可以了,把这条语句放到串口使能函数后执行就可以。

2.配置DMA双缓存

1).设置一个二维缓存数组

在这里插入图片描述

2).配置DMA为回环模式

hdma_usart1_rx.Init.Mode = DMA_CIRCULAR;

也可以在使用Cube MX配置DMA时直接配置成回环模式:
在这里插入图片描述

3).启动双缓存

	HAL_DMAEx_MultiBufferStart(&hdma_usart1_rx,USART1->RDR,(uint32_t)&Rx
  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Particle-ROS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值