上一章我們講了簡單的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