2022年9月29日木曜日

M5.begin()

続きです。

まず、ソースを確認。

https://github.com/m5stack/M5StickC-Plus/blob/master/src/M5StickCPlus.cpp
void M5StickCPlus::begin(bool LCDEnable, bool PowerEnable, bool SerialEnable) {
    //! UART
    if (SerialEnable) {
        Serial.begin(115200);//省略
}
    // Power
    if (PowerEnable) {
        Axp.begin();
    }
    // LCD INIT
    if (LCDEnable) {
        Lcd.begin();
    }

https://github.com/m5stack/M5StickC-Plus/blob/master/src/AXP192.cpp
void AXP192::begin(void) {
    // Set LDO2 & LDO3(TFT_LED & TFT) 3.0V

今は M5.begin(true,false,false)。AXP が begin されないと、各種電源関係が初期化されません。これでしょう。そもそも、false はどのようなケースで使用するのでしょうか?

M5.begin() = デフォ true*3 だと、電源を落とせます。USBケーブルでPCや電源につなぐと、自動で起動します。そういう仕様なのでしょう。
M5.begin(true,true,false)でも同様です。

調べてみると、M5.begin()の引数 はM5シリーズ内で異なるようです。純正のサンプルコードが誤っているのでしょうか?ま、意図したように電源が動作するようになったので解決です。

さらに続く。


0 件のコメント:

コメントを投稿