for Airio-Base. SD card power on/off test program.
Code URL
https://os.mbed.com/users/mbed_crane_elec/code/Airio-Base_SD_power_test/
Airio-Baseで SDカード電源のON/OFF制御をするサンプルコードです。
準備
- FlashAirをSDカードソケットへ接続
SWスイッチ動作
LED2が点灯し、カードへの電源供給を開始(ON)します。
ISPスイッチ動作
LED2が消灯し、カードへの電源供給を停止(OFF)します。
コードについて
Airio-Baseのポート番号P1_16は、SDカードソケットの電源制御用のIC(AP2281)に接続されています。 これは、サンプルコード
DigitalOut sd_en(P1_16, 0);//SD card power on/off control port. and OFF default.
で定義されており、出力デジタルポートでHigh/LowがON/OFFに相当しSDカードへの電源供給を制御します。
FlashAirの電源確認
LED2点灯時に、スマートフォンなどからFlashAirにアクセスできることを確認して下さい。 また、LED2消灯時は、FlashAirにアクセスできないことを確認して下さい。
このカード電源の制御機能は、バッテリー駆動用途などの消費電力を抑える必要がある場合に有効です。
main.cpp
- Committer:
- mbed_crane_elec
- Date:
- 2018-08-09
- Revision:
- 0:606f4b3ea74c
File content as of revision 0:606f4b3ea74c:
#include "mbed.h" //------------------------------------------------------------------------------- //Port Settings DigitalOut led1(P0_7,1); DigitalOut led2(P1_13,1); DigitalOut sd_en(P1_16, 0);//SD card power on/off control port. and OFF default. //DigitalIn sd_dat3(P0_17); // 0x10 //DigitalIn sd_dat2(P1_22); // 0x08 //DigitalIn sd_dat1(P1_14); // 0x04 //DigitalIn sd_dat0(P0_22); // 0x02 //DigitalIn sd_cmd(P0_21); // 0x01 DigitalIn sw(P1_20); DigitalIn isp(P0_1); //------------------------------------------------------------------------------- //Program int main() { while(1) { // Button "SW" function if(sw == 0) { sd_en = 1;//SD card power turn ON led2 = 0;//LED2 turn ON } // Button "ISP" function if(isp == 0) { sd_en = 0;//SD card power turn OFF led2 = 1;//LED2 turn OFF } } }