1. 程式人生 > >STM32_ADC單通道單次採集

STM32_ADC單通道單次採集

今天講解“STM32F103 ADC單通道單次採集”功能。

今天提供並講解的軟體工程,基於軟體工程“A0.0.0(STM32F10x_TIM延時)”修改而來。若不知道如何而來,請關注微信公眾號“EmbeddDeveloper”獲取更多資訊。

本著免費分享的原則,將講解的工程原始碼分享給大家,還望看到的朋友關注一下微信公眾號,增加一下人氣。

每天提供下載的“軟體工程”都是在硬體板子上進行多次測試、並保證沒問題才上傳至360雲盤。

今天的軟體工程下載地址(360雲盤):

STM32F10x的資料可以在我360雲盤下載:

關於“STM32F103 ADC單通道單次採集” 我把重要的幾點在下面分別講述,若不明白,請關注微信公眾號“EmbeddDeveloper

”查閱或留言。

一、RCC時鐘配置

 

該函式位於在bsp.c檔案下面;

使能RCC時鐘:RCC_APB2Periph_ADC1

二、引腳配置

 

 

該函式位於在adc.c檔案下面;

對AD通道2所使用的引腳進行配置。

問題:

細心的人可能會發現資料手冊中PA2引腳的複用功能是“ADC123_IN2”,我們明明使用的ADC1,為什麼不是ADC1_IN2或者ADC2_IN2?

大家先想一下為什麼是ADC123_IN2,最後我會揭曉答案。

三、ADC配置

 

該函式位於在adc.c檔案下面;

對AD進行配置。

配置的每一條語句都有註釋,請看原始碼,重點講一下“ADC_Channel_2”,這裡必須和上面引腳配置對應起來,也就是通道的引腳配置一致才行。

四、電壓檢測

 

該函式位於在adc.c檔案下面;

呼叫這個介面就可以採集電壓值。

函式使用單通道單次,軟體觸發取樣電壓值,這裡取樣8次(更加自己情況可以選擇多次),算平均,最後得出電壓值(1000倍值)。

五、主函式應用

 

該函式位於在main.c檔案下面;

主要就是採集電壓,通過串列埠打印出來(1000倍值)。

六、揭曉ADC123_IN2

上面的問題有自己想明白了的嗎?

其實很簡單的,ADC123_IN2顧名思義,它就是包含了ADC1、ADC2、ADC3的IN2的意思。也就是說,你們使用ADC2的通道2也是這個“ADC123_IN2”通道。

方便大家學習,我把兩個工程都上傳至360雲盤,不行的朋友可以親自下載程式碼試試。

對比的軟體工程下載地址:

我的軟體工程排版格式都是嚴格按照一定的規範排版的,請參見:"軟體編輯排版要求及說明.doc "

想掌握更多精彩內容,請關注我的微信公眾號。

微信搜尋“EmbeddDeveloper”, 或掃描下面二維碼關注