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,設定下工程,格式如下 這個可以把 格式更模組化。建議選...