STM32CUBEMX開發(fā)GD32F303(10)----雙ADC輪詢模式掃描多個通道
概述
本章STM32CUBEMX配置STM32F103,并且在GD32F303中進行開發(fā),同時通過GD32303C_START開發(fā)板內(nèi)進行驗證。需要GD樣片的可以加Q_QUN申請:615061293。 本章主要配置,雙ADC輪詢模式掃描多個通道,通過串口進行打印。 查閱手冊可以得知,PA9、PA10為串口0的輸出和輸入口。?

視頻教學(xué)
https://www.bilibili.com/video/BV1iG411H7ye/

樣品申請
https://www.wjx.top/vm/mB2IKus.aspx
csdn課程
課程更加詳細(xì)。?https://download.csdn.net/course/detail/37152
ADC通道配置

生成例程
這里準(zhǔn)備了GD32303C_START開發(fā)板進行驗證。?

STM32CUBEMX配置

?勾選中斷。?

ADC1配置。

ADCs_Common_Settings:
Mode:Independent mod 獨立 ADC 模式,當(dāng)使用一個 ADC 時是獨立模式,使用兩個 ADC 時是雙模式,在雙模式下還有很多細(xì)分模式可選,具體配置 ADC_CR1:DUALMOD 位。
ADC_Settings:
Disabled 禁止間斷模式。這個在需要考慮功耗問題的產(chǎn)品中很有必要,也就是在某個事件觸發(fā)下,開啟轉(zhuǎn)換。
Enabled 開啟間斷模式。
Disabled 單次轉(zhuǎn)換。轉(zhuǎn)換一次后停止需要手動控制才重新啟動轉(zhuǎn)換。
Enabled 自動連續(xù)轉(zhuǎn)換。
Disabled 禁止掃描模式。如果是單通道 AD 轉(zhuǎn)換使用 DISABLE。
Enabled 開啟掃描模式。如果是多通道 AD 轉(zhuǎn)換使用 ENABLE。
Right alignment 轉(zhuǎn)換結(jié)果數(shù)據(jù)右對齊,一般我們選擇右對齊模式。
Left alignment 轉(zhuǎn)換結(jié)果數(shù)據(jù)左對齊。
Data Alignment:
Scan Conversion Mode:
Continuous Conversion Mode:
DiscontinuousConvMode:
ADC_Regular_ConversionMode:
Enable Regular Conversions 是否使能規(guī)則轉(zhuǎn)換。
Number Of Conversion ADC轉(zhuǎn)換通道數(shù)目,有幾個寫幾個就行。
External Trigger Conversion Source 外部觸發(fā)選擇。這個有多個選擇,一般采用軟件觸發(fā)方式。
Rank:
Channel ADC轉(zhuǎn)換通道
Sampling Time 采樣周期選擇,采樣周期越短,ADC 轉(zhuǎn)換數(shù)據(jù)輸出周期就越短但數(shù)據(jù)精度也越低,采樣周期越長,ADC 轉(zhuǎn)換數(shù)據(jù)輸出周期就越長同時數(shù)據(jù)精度越高。
ADC_Injected_ConversionMode:
Enable Injected Conversions 是否使能注入轉(zhuǎn)換。注入通道只有在規(guī)則通道存在時才會出現(xiàn)。
WatchDog:
Enable Analog WatchDog Mode 是否使能模擬看門狗中斷。當(dāng)被 ADC 轉(zhuǎn)換的模擬電壓低于低閾值或者高于高閾值時,就會產(chǎn)生中斷。
ADC2配置。?

?生成獨立的文件。?

keil配置
microlib 進行了高度優(yōu)化以使代碼變得很小。 它的功能比缺省 C 庫少,并且根本不具備某些 ISO C 特性。 某些庫函數(shù)的運行速度也比較慢,如果要使用printf(),必須開啟。?

最后
以上的代碼會在Q_qun里分享。Q_qun:615061293。 或者關(guān)注『記帖』,持續(xù)更新文章和學(xué)習(xí)資料!
代碼
在main.c中,添加頭文件,若不添加會出現(xiàn) identifier "FILE" is undefined報錯。
函數(shù)聲明和串口重定向:
定義變量,存放采集到的數(shù)據(jù)。
ADC校準(zhǔn)。
采集數(shù)據(jù)。
測試結(jié)果
輸入固定電壓進行測試。

測試結(jié)果如下。?
