目錄
1、實驗目的
2、實驗設計
3、實驗步驟
3.1、使用 STM32CubeMX 建立項目工程
3.2、編寫ADC代碼
3.3、配置燒寫參數
3.4、燒錄程式
了解STM32L432KC ADC的原理及特性;
學習STM32CubeMX建立ADC工程的方法;
掌握STM32程式設計實作光敏電阻傳感器模數轉換的程式設計技巧。
分析STM32L432KC晶片手冊可知(或者在STM32CubeMX軟體配置,自動會配置ADC引腳),ADC1(這裡使用ADC1_IN9通道)使用PA4引腳;
通過配置ADC1_IN9通道,結合ADC模數轉換函數,将光敏電阻傳感器模拟量轉換為數字量,并将資料通過序列槽列印輸出。

本博文将簡要講述STM32CubeMX 建立雙序列槽項目工程的過程,具體步驟參見:STM32控制LED燈閃爍(NB-IoT項目實戰專欄—4)。
第1步:配置系統晶振。
第2步:配置ADC1引腳,使能ADC1通道9,此時對應的GPIO(PA4),模式自動為模數轉換模式。
ADC配置,主要參數說明如下:
第3步:配置UART1,異步模式,實時輸出ADC轉換後的資料。
第4步:配置晶振為80MHZ,ADC時鐘為10MHZ,不要讓ADC時鐘超過14MHz,否則可能不準。
第5步:配置工程檔案資訊。
第1步:找到ADC轉換函數,位于“stm32l4xx_hal_adc.h”檔案中。
第2步:分析所需要使用的ADC函數,主要使用到以下3個ADC轉換函數(UART函數這裡不在贅述)。
HAL_StatusTypeDef HAL_ADC_Start(ADC_HandleTypeDef *hadc)功能是啟用ADC函數,開始ADC轉換,函數各個參數說明如下:
HAL_StatusTypeDef HAL_ADC_PollForConversion(ADC_HandleTypeDef *hadc, uint32_t Timeout)功能是ADC轉換函數,實作模數轉換,函數各個參數說明如下:
uint32_t HAL_ADC_GetValue(ADC_HandleTypeDef *hadc)功能是擷取數模轉換結果函數,函數各個參數說明如下:
第3步:編寫程式,實作數模轉換,擷取光敏傳感器數值,并通過序列槽實時輸出結果。
NUCLEO-L432KC子產品内嵌STLINK/V2-1燒寫器,配置燒寫參數,設定使用 ST-LINK 下載下傳,設定好下圖參數,點選下載下傳程式。
最後燒錄程式,檢視效果。
項目資源及代碼下載下傳參見網址:
https://download.csdn.net/download/m0_38106923/11367426。