STM32 进阶教程 16 - ADC1与ADC2同步采样
前言
STM32中在有2個(gè)或以上ADC模塊的產(chǎn)品中,可以使用雙ADC模式。在雙ADC模式里,根據(jù)ADC1_CR1寄存器中DUALMOD[2:0]位所選的模式,轉(zhuǎn)換的啟動(dòng)可以是ADC1主和ADC2從的交替觸發(fā)或同步觸發(fā)。注意: 在雙ADC模式里,當(dāng)轉(zhuǎn)換配置成由外部事件觸發(fā)時(shí),用戶必須將其設(shè)置成僅觸發(fā)主ADC,從ADC設(shè)置成軟件觸發(fā),這樣可以防止意外的觸發(fā)從轉(zhuǎn)換。但是,主和從ADC的外部觸發(fā)必須同時(shí)被激活。
共有6種可能的模式:
─ 同步注入模式
─ 同步規(guī)則模式
─ 快速交叉模式
─ 慢速交叉模式
─ 交替觸發(fā)模式
─ 獨(dú)立模式
還有可以用下列方式組合使用上面的模式:
─ 同步注入模式 + 同步規(guī)則模式
─ 同步規(guī)則模式 + 交替觸發(fā)模式
─ 同步注入模式 + 交叉模式
注意: 在雙ADC模式里,為了在主數(shù)據(jù)寄存器上讀取從轉(zhuǎn)換數(shù)據(jù),必須使能DMA位,即使不使用DMA傳輸規(guī)則通道數(shù)據(jù)。
????? 本節(jié)將給大家展示一下如保在STM32中使用雙ADC的同步規(guī)劃模式,關(guān)于同步規(guī)劃模式的說明,在STM32的數(shù)據(jù)手冊中有如下描述:
示例詳解
基于硬件平臺(tái): STM32F10C8T6最小系統(tǒng)板, MCU 的型號(hào)是?STM32F103c8t6, 使用stm32cubemx 工具自動(dòng)產(chǎn)生的配置工程,使用KEIL5編譯代碼。
?
?
本示例所用的最小系統(tǒng)板原理圖:
?
?
?
?
?
?
?
?
?
View->Watch windows->Watch 1打開一個(gè)變量觀察窗口,將變量ADC_result加入到 Watch 1 觀察窗口:
發(fā)現(xiàn)變量的高16位也有了結(jié)果,為了驗(yàn)證IN4 - ADC2的結(jié)果在四個(gè)變量的高位16位,分別將PA4 ,PA3, PA2, PA1, PA0 引腳接地查看結(jié)果:
Pa4 接地
?
Pa3 接地
?
Pa2 接地
?
Pa1 接地
?
Pa0 接地
?
?
可以看到輸出的結(jié)果與ADC的配置是對應(yīng)的,實(shí)驗(yàn)成功,其它類型的同步操作與本節(jié)內(nèi)容很類似。
?
OK,本期實(shí)驗(yàn)完成!下期見!同時(shí)如果大家有什么疑問或是有想了解的其它內(nèi)容,也歡迎大家留言!!最后喜歡這個(gè)公眾號(hào)的同學(xué)們記得加關(guān)注了,會(huì)有不定期技術(shù)干貨推出!!
文中源碼資料下載,在公眾號(hào)里給十三發(fā)消息:
下載|STM32進(jìn)階教程 16
?
關(guān)注十三公眾號(hào)
?
?
總結(jié)
以上是生活随笔為你收集整理的STM32 进阶教程 16 - ADC1与ADC2同步采样的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: STM32 LWIP TCP 数据包分包
- 下一篇: STM32 进阶教程 17 - ADC注