這篇文章將為大家詳細講解有關STM32低功耗模式下GPIO如何配置最節能,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
輸出緩沖器被關閉
施密特觸發器輸入被禁用,因此I/O引腳的每個模擬值零消耗。施密特觸發器的輸出被強制為恒定值(0)。
上拉和下拉電阻被硬件關閉
GPIO_InitStruct.Mode = LL_GPIO_MODE_ANALOG;
上升時間,下降時間和最大頻率可配置GPIOx_OS
將不常用的GPIO配置為低速模式,例程如下所示(LL庫):
GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_LOW;
GPIO不使用時禁用寄存器時鐘
如果某個GPIO組不需要長時間使用,請禁用其時鐘。
禁用將不常用的GPIO寄存器時鐘,例程如下所示(LL庫):
LL_IOP_GRP1_DisableClock(LL_IOP_GRP1_PERIPH_GPIOA|LL_IOP_GRP1_PERIPH_GPIOB);
避免懸空未使用的引腳
進入低功耗模式時,所有引腳信號必須連接到VDD或接地。
如果GPIO連接到外部接收器(外部元件輸入),則必須使用PP或PU/PD強制GPIO信號值。
當GPIO連接到驅動器(外部元件輸出或總線)時,驅動器必須提供有效電平(VDD 或接地)。如果未定義驅動器電平,則必須使用PU/PD強制GPIO上的信號。出于實際原因,當GPIO是運行模式下的輸入(模擬或數字)時,在低功耗模式下使用輸入
PU/PD可能更容易;當GPIO是運行模式下的輸出時,則使用輸出PP。這可以避免在進入或退出停止模式時管理更改。
將不常用的GPIO配置為高電平,例程如下所示(LL庫):
LL_GPIO_SetOutputPin(GPIOA,LL_GPIO_PIN_ALL); LL_GPIO_SetOutputPin(GPIOB,LL_GPIO_PIN_ALL);
關于STM32低功耗模式下GPIO如何配置最節能就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。