有人使用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
+關注
關注
146文章
17184瀏覽量
351697 -
adc
+關注
關注
98文章
6513瀏覽量
545041 -
STM32
+關注
關注
2270文章
10910瀏覽量
356599
發布評論請先 登錄
相關推薦
基于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進行配置
評論