目錄
1、函數(shù)配置過程(這是標(biāo)準(zhǔn)庫配置過程):
2、STM32CubeMx配置過程
?3、main函數(shù)源文件
采集5路ADC數(shù)據(jù),并用串口printf()函數(shù)打印出來。
實驗現(xiàn)象:?
ADC轉(zhuǎn)換的初始條件:
1、使能
2、觸發(fā)源條件完成(這個需要自己配置)利用:HAL_ADC_Start_DMA()函數(shù);
ADC中HAL開發(fā)優(yōu)勢就是,只需要配置HAL_ADC_Start_DMA()函數(shù),直接可以控制多路ADC轉(zhuǎn)換,非常簡單。我們需要的數(shù)據(jù),就在此函數(shù)的第二個參數(shù)中,記得看最下面的源碼分析。
DMA轉(zhuǎn)換的初始條件(這三個條件HAL已經(jīng)幫忙配置完成):
1、使能
2、傳輸計數(shù)器大于1(發(fā)送數(shù)據(jù)寄存器里面有數(shù)據(jù))
3、產(chǎn)生觸發(fā)源條件:使能ADC觸發(fā)DMA的條件(這個在STM32CubeMx已經(jīng)幫忙配置完成)
1、函數(shù)配置過程(這是標(biāo)準(zhǔn)庫配置過程):
僅僅在初始化代碼中,需要調(diào)用一個函數(shù)啟動ADC+DMA轉(zhuǎn)換
函數(shù): HAL_ADC_Start_DMA(&hadc1,(uint32_t*)&AD_Value,5);
參數(shù)1:選擇ADC
參數(shù)2:選擇需要存放數(shù)據(jù)的地址(數(shù)組)
2、STM32CubeMx配置過程
1、配置ADC基礎(chǔ)配置
?
2、配置DMA文章來源:http://www.zghlxwxcb.cn/news/detail-403384.html
?文章來源地址http://www.zghlxwxcb.cn/news/detail-403384.html
?3、main函數(shù)源文件
uint16_t AD_Value[5];//定義一個數(shù)組
int main(void)
{
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
MX_DMA_Init();
MX_ADC1_Init();
MX_USART1_UART_Init();
HAL_ADC_Start_DMA(&hadc1,(uint32_t*)&AD_Value,5);
while (1)
{
printf("ADC0:%d\r\n",AD_Value[0]);
printf("ADC1:%d\r\n",AD_Value[1]);
printf("ADC2:%d\r\n",AD_Value[2]);
printf("ADC3:%d\r\n",AD_Value[3]);
printf("ADC4:%d\r\n",AD_Value[4]);
printf("\r\n");
HAL_Delay(1000);
}
}
到了這里,關(guān)于STM32CubeMx配置ADC(多通道采集+DMA讀取數(shù)據(jù))(HAL庫開發(fā))的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!