STM32

低消費電力モードの使い方

電源ドメイン構成

電源ドメイン電源端子用途
VDDAVDDA,VSSAADC,温度センサ,リセット,PLL
VDDVDD,VSSI/O,STANDBY回路(WKUP,IWDG,RCC,CSR),電圧レギュレータ
V18VDDから生成コア,メモリ,デジタルペリフェラル
BKUPVDD or VBATLSE 32K OSC,BKP,RCC BDCR,RTC

低消費電力モード

モード名エントリ方法ウェイクアップ1.8Vドメインへの影響VDDドメインへの影響レギュレータ
SLEEPWFI割り込みCPU CLKのみOFFなしON
SLEEPWEIウェイクアップイベントCPU CLKのみOFFなしON
STOPPDDS
LPDSビット+SLEEPDEEPビット+WFIかWFE
EXTIライン
EXTIレジスタ内で指定
全ての1.8VドメインCLKはOFFHSI,HSE OSCはOFFON / 低消費電力モード
STANDBYPDDS
LPDSビット+SLEEPDEEPビット+WFIかWFE
WKUPピン↑エッジ
RTCアラーム
NRSTピン内の外部リセット
IWDGリセット
全ての1.8VドメインCLKはOFFHSI,HSE OSCはOFFON / 低消費電力モード

GPIOピンの設定

AN2629 のサンプルコードでは、GPIO設定時にまず以下のようにしてから、必要なピンの設定をしている。

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB |
RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE | 
RCC_APB2Periph_AFIO, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_Init(GPIOC, &GPIO_InitStructure);
GPIO_Init(GPIOD, &GPIO_InitStructure);
GPIO_Init(GPIOE, &GPIO_InitStructure);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB| 
RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE | 
RCC_APB2Periph_AFIO, DISABLE);

一度全てのポートをアナログInputに設定している。GPIO_Mode_IN_FLOATING (リセット時のデフォルト)で、ピンを浮かしておくと、電流を食うため。


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS