今天講解“STM32F103 ADC單通道單次采集”功能。
今天提供并講解的軟件工程,基于軟件工程“A0.0.0(STM32F10x_TIM延時)”修改而來。若不知道如何而來,請關注微信公眾號“EmbeddDeveloper”獲取更多信息。
本著免費分享的原則,將講解的工程源代碼分享給大家,還望看到的朋友關注一下微信公眾號,增加一下人氣。
每天提供下載的“軟件工程”都是在硬件板子上進行多次測試、并保證沒問題才上傳至360云盤。
今天的軟件工程下載地址(360云盤):
https://yunpan.cn/cPGrE6DLHX24R 訪問密碼 de4f
STM32F10x的資料可以在我360云盤下載:
https://yunpan.cn/crBUdUGdYKam2 訪問密碼 ca90
關于“STM32F103 ADC單通道單次采集” 我把重要的幾點在下面分別講述,若不明白,請關注微信公眾號“EmbeddDeveloper”查閱或留言。
一、RCC時鐘配置
該函數位于在bsp.c文件下面;
使能RCC時鐘:RCC_APB2Periph_ADC1
二、引腳配置
該函數位于在adc.c文件下面;
對AD通道2所使用的引腳進行配置。
問題:
細心的人可能會發(fā)現數據手冊中PA2引腳的復用功能是“ADC123_IN2”,我們明明使用的ADC1,為什么不是ADC1_IN2或者ADC2_IN2?
大家先想一下為什么是ADC123_IN2,最后我會揭曉答案。
三、ADC配置
該函數位于在adc.c文件下面;
對AD進行配置。
配置的每一條語句都有注釋,請看源代碼,重點講一下“ADC_Channel_2”,這里必須和上面引腳配置對應起來,也就是通道的引腳配置一致才行。
四、電壓檢測
該函數位于在adc.c文件下面;
調用這個接口就可以采集電壓值。
函數使用單通道單次,軟件觸發(fā)采樣電壓值,這里采樣8次(更加自己情況可以選擇多次),算平均,最后得出電壓值(1000倍值)。
五、主函數應用
該函數位于在main.c文件下面;
主要就是采集電壓,通過串口打印出來(1000倍值)。
六、揭曉ADC123_IN2
上面的問題有自己想明白了的嗎?
其實很簡單的,ADC123_IN2顧名思義,它就是包含了ADC1、ADC2、ADC3的IN2的意思。也就是說,你們使用ADC2的通道2也是這個“ADC123_IN2”通道。
方便大家學習,我把兩個工程都上傳至360云盤,不行的朋友可以親自下載代碼試試。
對比的軟件工程下載地址:
https://yunpan.cn/cPGRAYZrdvdPf訪問密碼 2ce1
我的軟件工程排版格式都是嚴格按照一定的規(guī)范排版的,請參見:"軟件編輯排版要求及說明.doc "
下載地址(360云盤):https://yunpan.cn/cPGHPUC6SETyG 訪問密碼6ca7