基于STM32Cube程式設計的4個AD通道采集程式
- 基本介紹
- STM32Cube設定
- 注意事項
- 主要代碼
- 下載下傳驗證
基本介紹
程式基于STM32F103C8T6,采用ADC1的IN0~IN3四個通道采集資料。
AD時鐘來源于PCLK經過ADC預分頻得到,F1最高14M,一般設定12M。
ADC采樣時間:T=12.5+采樣時間。其中12.5個周期是固定的,采樣時間可設定,這裡設定成239.5,時間越長,采樣越準确。是以完成一次采樣時間T=(12.5+239.5)/12M=21us
STM32Cube設定
ADC1的四個采樣通道初始化設定
DMA設定:循環轉換Circular,位址遞增,資料長度選擇字Word。
開啟DMA中斷
注意事項
待更新
主要代碼
下載下傳初始化後面的兩個函數,第一行用于校正,第二行用于開啟ADC的DMA中斷。
HAL_ADCEx_Calibration_Start(&hadc1);
HAL_ADC_Start_DMA(&hadc1,ADCConver,4);
以下是DMA中斷回調函數,每次轉換完成都會進這個中斷回調函數,這裡統計進入中斷次數。
void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc)
{
if(hadc->Instance==ADC1)
{
count++;
}
}
下載下傳驗證
線剛拔,待更新