STM32的每個ADC模塊通過內部的模擬多路開關,可以切換到不同的輸入通道并進行轉換。STM32特別地加入了多種成組轉換的模式,可以由程序設置好之后,對多個模擬通道自動地進行逐個地采樣轉換。 有2種劃分轉換組的方式:規則通道組和注入通道組。通常規則通道組中可以安排最多16個通道,而注入通道組可以安排最多4個通道。 在執行規則通道組掃描轉換時,如有例外處理則可啟用注入通道組的轉換。 一個不太恰當的比喻是:規則通道組的轉換好比是程序的正常執行,而注入通道組的轉換則好比是程序正常執行之外的一個中斷處理程序。 再舉一個不一定使用的例子: 假如你在家里的院子內放了5個溫度探頭,室內放了3個溫度探頭;你需要時刻監視室外溫度即可,但偶爾你想看看室內的溫度;因此你可以使用規則通道組循環掃描室外的5個探頭并顯示AD轉換結果,當你想看室內溫度時,通過一個按鈕啟動注入轉換組(3個室內探頭)并暫時顯示室內溫度,當你放開這個按鈕后,系統又會回到規則通道組繼續檢測室外溫度。 從系統設計上,測量并顯示室內溫度的過程中斷了測量并顯示室外溫度的過程,但程序設計上可以在初始化階段分別設置好不同的轉換組,系統運行中不必再變更循環轉換的配置,從而達到兩個任務互不干擾和快速切換的結果?梢栽O想一下,如果沒有規則組和注入組的劃分,當你按下按鈕后,需要從新配置AD循環掃描的通道,然后在施放按鈕后需再次配置AD循環掃描的通道。 —————————————— 上面的例子因為速度較慢,不能完全體現這樣區分(規則組和注入組)的好處,但在工業應用領域中有很多檢測和監視探頭需要較快地處理,這樣對AD轉換的分組將簡化事件處理的程序并提高事件處理的速度。 發表于 2009/4/29 |