天天看點

NUCLEO-L432KC實作ADC配置(STM32L432KC)

目錄

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模數轉換函數,将光敏電阻傳感器模拟量轉換為數字量,并将資料通過序列槽列印輸出。

NUCLEO-L432KC實作ADC配置(STM32L432KC)

本博文将簡要講述STM32CubeMX 建立雙序列槽項目工程的過程,具體步驟參見:STM32控制LED燈閃爍(NB-IoT項目實戰專欄—4)。

第1步:配置系統晶振。

NUCLEO-L432KC實作ADC配置(STM32L432KC)

第2步:配置ADC1引腳,使能ADC1通道9,此時對應的GPIO(PA4),模式自動為模數轉換模式。

NUCLEO-L432KC實作ADC配置(STM32L432KC)

ADC配置,主要參數說明如下:

NUCLEO-L432KC實作ADC配置(STM32L432KC)
NUCLEO-L432KC實作ADC配置(STM32L432KC)

第3步:配置UART1,異步模式,實時輸出ADC轉換後的資料。

NUCLEO-L432KC實作ADC配置(STM32L432KC)

第4步:配置晶振為80MHZ,ADC時鐘為10MHZ,不要讓ADC時鐘超過14MHz,否則可能不準。

NUCLEO-L432KC實作ADC配置(STM32L432KC)

第5步:配置工程檔案資訊。

NUCLEO-L432KC實作ADC配置(STM32L432KC)
NUCLEO-L432KC實作ADC配置(STM32L432KC)

第1步:找到ADC轉換函數,位于“stm32l4xx_hal_adc.h”檔案中。

NUCLEO-L432KC實作ADC配置(STM32L432KC)

第2步:分析所需要使用的ADC函數,主要使用到以下3個ADC轉換函數(UART函數這裡不在贅述)。

HAL_StatusTypeDef HAL_ADC_Start(ADC_HandleTypeDef *hadc)功能是啟用ADC函數,開始ADC轉換,函數各個參數說明如下:

NUCLEO-L432KC實作ADC配置(STM32L432KC)

HAL_StatusTypeDef HAL_ADC_PollForConversion(ADC_HandleTypeDef *hadc, uint32_t Timeout)功能是ADC轉換函數,實作模數轉換,函數各個參數說明如下:

NUCLEO-L432KC實作ADC配置(STM32L432KC)

uint32_t HAL_ADC_GetValue(ADC_HandleTypeDef *hadc)功能是擷取數模轉換結果函數,函數各個參數說明如下:

NUCLEO-L432KC實作ADC配置(STM32L432KC)

第3步:編寫程式,實作數模轉換,擷取光敏傳感器數值,并通過序列槽實時輸出結果。

NUCLEO-L432KC實作ADC配置(STM32L432KC)

NUCLEO-L432KC子產品内嵌STLINK/V2-1燒寫器,配置燒寫參數,設定使用 ST-LINK 下載下傳,設定好下圖參數,點選下載下傳程式。

NUCLEO-L432KC實作ADC配置(STM32L432KC)

最後燒錄程式,檢視效果。

NUCLEO-L432KC實作ADC配置(STM32L432KC)
NUCLEO-L432KC實作ADC配置(STM32L432KC)

項目資源及代碼下載下傳參見網址:

https://download.csdn.net/download/m0_38106923/11367426

。  

繼續閱讀