有人使用STM32U5系列MCU开发产品,在用到ADC结合DMA传输时遇到点障碍,这里针对片内ADC1和ADC4基于DMA标准请求模式和链表模式演示下实现过程,以供参考。
先对ADC1基于DMA标准请求模式做演示。
随意选择ADC1的4个通道,扫描模式,连续转换,DMA传输转换结果并令DMA工作在外设字到内存字的循环传输模式。使用CubeMx进行配置。其中DMA通道使用Channel 1。



相关代码:
#define ADC_BUFFRER_SIZE ((uint32_t) 8)
uint32_t ADC1_Result[ADC_BUFFRER_SIZE];
ADC_HandleTypeDef hadc1;
DMA_HandleTypeDef handle_GPDMA1_Channel1; //For ADC1
/* USER CODE BEGIN 2 */
HAL_PWREx_EnableVddA(); //add it manually with lower cubeMx version
__HAL_LINKDMA(&hadc1, DMA_Handle, handle_GPDMA1_Channel1);
if (HAL_ADC_Start_DMA(&hadc1, (uint32_t *)ADC1_Result,
(ADC_BUFFRER_SIZE)
) != HAL_OK)
{
Error_Handler();
}
/* USER CODE END 2 */
运行结果如下图所示:【目前4个通道我是悬空的】

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
mcu
+关注
关注
147文章
18611浏览量
387138 -
adc
+关注
关注
100文章
7405浏览量
553808 -
STM32
+关注
关注
2305文章
11121浏览量
371170
发布评论请先 登录
相关推荐
热点推荐
基于LL库实现STM32U5 LPTIM功能
有人打算使用STM32U5系列片内LPTIM做低功耗模式唤醒。基于STM32 LL库组织代码,折腾几天后似乎连中断都进不了,想找找是否有现存LL库例程可以参考。
请问STM32G4的ADC1,ADC2,ADC3,ADC4可以同时工作在独立模式吗?
咨询下各位: STM32G4的ADC1,ADC2,ADC3,ADC4可以同时工作在独立模式吗?每个ADC
发表于 04-10 06:01
ADC1的扫描模式,DMA传输问题,求大神指点
,ADC_Channel_3,3,ADC_SampleTime_239Cycles5); ADC_RegularChannelConfig(ADC1,
发表于 06-03 17:50
STM32U5 ADC校准功能问题求解
我正在使用 ST32U5 微控制器,我想问一些关于 ADC 线性和偏移校准功能的问题。1 - 此功能仅在 ADC1 上可用,还是在
发表于 12-02 06:10
如何在NUCLEO-U575ZI-Q上启用ADC1?
我在 NUCLEO-U575ZI-Q 上使用 STM32CubeIDE 1.9.0、STM32CubeMX 6.5.0 和 STM32Cub
发表于 02-09 06:33
STM32U5 ADC+DMA配置演示
随意选择ADC1的4个通道,扫描模式,连续转换,DMA传输转换结果并令DMA工作在外设字到内存字的循环传输模式。使用CubeMx进行配置。其中DMA通道使用Channel 1。
STM32U5系列片内ADC1和ADC4实现过程(下)
现在对ADC4基于DMA链表模式做演示,其实就一个节点。 选择ADC4的4个内部信号通道,扫描模式,连续转换,DMA传输转换结果,并令DMA工作在外设字到内存字的循环模式。使用CubeMx进行配置

STM32U5系列片内ADC1和ADC4实现过程(上)
评论