STM32 AD多通道迴圈取樣後DMA儲存資料

2021-08-15 12:24:26 字數 904 閱讀 1112

stm32 ad多通道迴圈取樣後dma儲存資料:

描述:用adc連續採集8路模擬訊號,並由dma傳輸到記憶體。adc配置為掃瞄並且連續轉換模式,adc的時鐘配置為12mhz。在每次轉換結束後,由dma迴圈將轉換的資料傳輸到記憶體中。

程式原始碼如下:

adc.c

#include "adc.h"

#define adc1_dr_address ((u32)0x4001244c)

vu16 adcconvertedvalue[256]; //取樣資料儲存

/* ad 取樣的io口配置 */

void rstgpioconfig(void)

void adc_configuration(void)

adc.h

#ifndef __adc_h

#define __adc_h

extern vu16 adcconvertedvalue[256];

void rstgpioconfig(void);

void adc_configuration(void);

#endif

應用程式可以通過如下函式讀取到ad值:

static float adc_res_1(void)  //pc0  res1  res_detect1 對應第3個資料

res1 = (nadcdata/32.0)*825/1024.0; // 3300對應的是微控制器3.3v 相當於3300/4096

return res1;

}

stm32 AD參考電壓

最近在進行原理圖設計的時候遇到了乙個問題,就是stm32的100管腳一下晶元沒有vref的問題。64pin及以下封裝的晶元電源管腳有 vdd 微控制器3.3v 電源正,vss 微控制器3.3v 電源負,vdda 微控制器a d 轉換器電源正,vssa 微控制器a d 轉換器電源負。插一句 由於stm...

stm32 AD參考電壓

最近在進行原理圖設計的時候遇到了乙個問題,就是stm32的100管腳一下晶元沒有vref的問題。64pin及以下封裝的晶元電源管腳有 vdd 微控制器3.3v 電源正,vss 微控制器3.3v 電源負,vdda 微控制器a d 轉換器電源正,vssa 微控制器a d 轉換器電源負。插一句 由於stm...

STM32的ADC多通道取樣

用hal庫寫的好處就是可以不用進行配置io口發步驟.有良好的相容性,更換晶元的時候改 也簡單.rcc我在左側的 裡不用勾選,因為我用的是內部時鐘,不用選.下面是我配置的時鐘 之所以是48m,還要分頻呢.下面直接上 其他的都預設.然後按alt p,設定下工程,格式如下 這個可以把 格式更模組化。建議選...