STM32CUBEIDE(9)----雙ADC輪詢模式掃描多個(gè)通道
概述
本章STM32CUBEMX配置STM32F103雙ADC輪詢模式掃描多個(gè)通道,通過(guò)串口進(jìn)行打印。 最近在弄ST和GD的課程,需要樣片的可以加群申請(qǐng):615061293。
視頻教學(xué)
https://www.bilibili.com/video/BV1ZB4y187h6/

csdn課程
課程更加詳細(xì)。?https://download.csdn.net/course/detail/35611
生成例程
使用STM32CUBEMX生成例程,這里使用NUCLEO-F103RB開(kāi)發(fā)板?

?查看原理圖,PA2和PA3設(shè)置為開(kāi)發(fā)板的串口。?

?配置串口。

?開(kāi)啟中斷。?

?查看原理圖,Arduino的接口A0-A5都是AD口。?

?ADC通道配置

ADC1配置。

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

?生成獨(dú)立的文件。?

STM32CUBEIDE配置

?若需要打印浮點(diǎn)型,需要勾選下面的選項(xiàng)。?

串口重定向
在main.c中,添加頭文件,若不添加會(huì)出現(xiàn) identifier "FILE" is undefined報(bào)錯(cuò)。
函數(shù)聲明和串口重定向:
代碼
定義變量,存放采集到的數(shù)據(jù)。
ADC校準(zhǔn)。
采集數(shù)據(jù)。
測(cè)試結(jié)果
輸入固定電壓進(jìn)行測(cè)試。

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

最后
以上的代碼會(huì)在Q群里分享。QQ群:615061293。 或者關(guān)注微信公眾號(hào)『記帖』,持續(xù)更新文章和學(xué)習(xí)資料,可加作者的微信交流學(xué)習(xí)!?
