选择ADC4的4个内部信号通道,扫描模式,连续转换,DMA传输转换结果,并令DMA工作在外设字到内存字的循环模式。使用CubeMx进行配置。其中DMA通道使用Channel 0。对于内部信号的采样,往往有最小采样时间要求,我这里的演示随便选了个参数,具体应用时请参考数据手册及当时ADC时钟具体拟定。特此提醒!

关于DMA链表模式的配置在CubeMx界面里的Utility菜单下。



相关用户代码:
/* Private variables ---------------------------------------------------------*/
ADC_HandleTypeDef hadc4;
DMA_NodeTypeDef Node_GPDMA1_Channel1;
DMA_QListTypeDef List_GPDMA1_Channel1;
DMA_HandleTypeDef handle_GPDMA1_Channel0;
/* USER CODE BEGIN PV */
/* USER CODE BEGIN 2 */
HAL_PWREx_EnableVddA(); //add it manually with lower cubeMx version
MX_ADC4Queue_Config();
__HAL_LINKDMA(&hadc4, DMA_Handle, handle_GPDMA1_Channel0);
HAL_DMAEx_List_SetCircularMode(&ADC4Queue);
if (HAL_DMAEx_List_LinkQ(&handle_GPDMA1_Channel0, &ADC4Queue) != HAL_OK)
{
Error_Handler();
}
if (HAL_ADC_Start_DMA(&hadc4,
(uint32_t *)ADC4_Result,
(ADC_BUFFRER_SIZE)
) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN WHILE */
结果验证【显示了2组数据】:

最后还提醒下,如果CubeMx版本比较低时,HAL_PWREx_EnableVddA()函数需要自己手动添加。我目前CubeMx 6.9.0版本已经不用手动添加了,创建工程时会将其自动生成于相应位置。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
mcu
+关注
关注
147文章
18604浏览量
386850 -
adc
+关注
关注
100文章
7380浏览量
553761 -
STM32
+关注
关注
2305文章
11120浏览量
371116
发布评论请先 登录
相关推荐
热点推荐
基于LL库实现STM32U5 LPTIM功能
有人打算使用STM32U5系列片内LPTIM做低功耗模式唤醒。基于STM32 LL库组织代码,折腾几天后似乎连中断都进不了,想找找是否有现存LL库例程可以参考。
请问STM32G4的ADC1,ADC2,ADC3,ADC4可以同时工作在独立模式吗?
咨询下各位: STM32G4的ADC1,ADC2,ADC3,ADC4可以同时工作在独立模式吗?每
发表于 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 上可用,还是在 ADC4
发表于 12-02 06:10
STM32U5系列使用LPBAM进行功耗优化
,实现了一流的超低功耗性能。除了多种 CPU 激活模式配置(可实现更高性能或更低功耗)之外,STM32U5 系列还支持大量低功耗模式,每种模式都具有多个选项。这使得设计人员可以在低功耗
发表于 09-08 06:54
STM32U5 ADC+DMA配置演示
随意选择ADC1的4个通道,扫描模式,连续转换,DMA传输转换结果并令DMA工作在外设字到内存字的循环传输模式。使用CubeMx进行配置。其中DMA通道使用Channel 1。

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