blog画像が表示されないページは、元画像を間違えて削除してしまっているためです。データが残っていないので、想像力で補ってください。2021/02/14M5CORE2のシステムLEDM5CORE2の電源LEDを点灯させたい。電源LEDと書いたが、正確にはSYS_LEDという名前だ。電源がONになると自動的に点灯する、というわけではない。これ以外にLEDは無いので、LCDもLEDも制御していない状態だと外見から電源が入っているかどうかわからないのだ。LEDを点灯させたいのだ。困ったことに、SYS_LEDはESP32のGPIOではなくAXP192、つまり電源制御用のチップ側につながっている。LEDのところからすると、SYS_LEDが0Vになれば電流が流れて点灯するはずだ。AWSのコードでは、起動時に1、Enableにするときに0を設定している。どちらもAxp192_SetGPIO1Mode()という関数を使っている。AXP192_GPIO1_CTL_REGが0x92なので、そこがGPIOのHI/LO設定なのだろう。AXP192データシートは・・・中国語版PDFしか見当たらなかった。下位3bitが有効で、デフォルト値は111。なんとなく文字の雰囲気からハイインピーダンスだろうか。起動時に001、ONにするときに000。値の書込では無くモードの設定なのか。ユニバーサル入出力が、いわゆるGPIOモードなのだと思う。いや、関数名からするとLEDを有効にする、なのだが同時に点灯もしているのだ。あ、001は「入力」で、000は「出力」だった。入力の時って、だいたいハイインピーダンスよね。Hi/Loの制御はこっちだと思う。デフォルトの出力値が0なので、GPIO1の設定を出力にしただけでLEDが点灯する、というわけだ。念のためHiにしたら点灯しなかったので、間違ってないだろう。いやあ、久々にポート制御するので不安だったよ。(追記)システムLEDのON/OFFをする場合、0x94レジスタのHi/Loでは結局ダメだった。Hiにしたら等電位になって点灯しないと思うのだが、そうならない。AWSの実装そのままになった。件のコメント:コメントを投稿コメントありがとうございます。申し訳ないですが勝手に削除することもあります。コメントを投稿できるのは、このブログのメンバーだけです。