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”, 或掃描下面二維碼關注