【STM32CubeMx你不知道的那些事】第八章:STM32CubeMx的ADC DMA配置

  上一章我們講了簡單的SPI配置,這一章我們講解一下ADC DMA的配置。話不多說直接進入正題。

一、準備工作

這裏我們要想配置ADC DMA並驗證需要的準備工作如下:

1、MDK for ARM(KEIL5)或者IAR FOR ARM(這個是軟件必備開發平臺) (必須)

2、一塊STM32最小系統開發板 (必須)

3、這裏最好有一本關於STM32學習的書籍(這裏就不推薦了,網上有一大把)

二、具體的操作

1、工程建立

1)、在Pinout菜單欄下,ADC1的選擇與配置。配置如圖

在這裏插入圖片描述
我們這裏配置了ADC的四個通道。

2)、在Configuration菜單欄下,點擊Analog下的SPI彈出配置界面,配置如圖

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在DMA Setting下,配置ADC DMA。
①添加 ADC1 DMA;
②設置ADC1 使用DMA 通道1;
③選擇DMA模式循環模式;
④選擇數據類型是半個字節就是16位數據。
⑤點擊OK配置完成。

3)、生成工程

點擊Project菜單欄選擇Generate code,工程生成完畢。

2、工程測試

1)、在main.C文件下添加紅色箭頭代碼

在這裏插入圖片描述

  uint16_t ADCvalue[20][4];
  HAL_ADC_Start_DMA(&hadc1, (uint32_t*)&ADCvalue, 80);	

這裏是使用了ADC四個通道,我們用二維數組uint16_t ADCvalue[20][4]來存ADC採集的數據。
ADCvalue[num][0]-----------爲通道0的ADC值
ADCvalue[num][1]-----------爲通道1的ADC值
ADCvalue[num][2]-----------爲通道2的ADC值
ADCvalue[num][3]-----------爲通道3的ADC值

HAL_ADC_Start_DMA(&hadc1, (uint32_t*)&ADCvalue, 80);
這句話是啓動ADC DMA轉換,ADCvalue是緩存BUFF,80是BUFF的大小我們這裏定義了BUFF是20 * 4 = 80;
仿真親測可用!~

3、總結

這樣ADC DMA配置就完成了!~~~

如有什麼不懂聯繫加QQ羣:1063618791歡迎大家學習交流!

QQ:1320300083

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章