STM32G0,你的ADC_IN15/16/17/18哪裡去了?

有工程師在做STM32G0系列MCU開發,當配置ADC通道時,會遇到一個問題:在CUBEMX配置ADC_15IN~ADC_18IN,發現配置出來的通道呈黃色(不可用),再看左邊categories進階配置,發現ADC1的IN_15~IN_18壓根就是灰色,不可選中。這就有點犯難了,這些通道真的不能用嗎?手冊上明明寫了這些IO口可以復用作ADC的啊?它們去哪兒了?




解決這個問題之前,我們需要了解STM32G0的ADC通道選擇模式。和其它MCU不同,STM32G0專門設置了2種通道選擇模式(祥見RM0444 15.3.8節):

Sequencer not fully configurable(不完全序列模式)

在這個模式下,ADC通道輪詢次序是按照通道號從小到大(或從大到小)的順序依次輪詢的,不可改變。該模式支持AN0~AN18通道(即所有通道都可用)

 

Sequencer fully configurable(完全序列模式)

在這個模式下,用戶可自己配置通道輪詢的次序。但該模式明確指出,只支持AN0~AN14

 


而CUBEMX ADC默認的通道選擇模式就是Sequencer fully configurable(完全序列模式),所以導致初始化時AN15~AN18不可用。

 

知道了原因,再配置AN15~AN18就不難了。我們只需要將任一可用的ADC通道選中

 

 

在它的下面進階配置里,有sequencer選項。只需將sequencer set to not fully configurable(配置成不完全序列模式)

 

 

這時,1N15~1N18就變為可選了,就可以應用了。

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論