この記事はPCA9956Bを光らせたい-その2(MODE1/MODE2)の続きです
で、コーディング
私はESP32のボードをコーディングする際は
Visual Studio CodeにPlatform IOを組み込んでコーディングしています
後は、C/C++ Extension Packとか
その辺はまあ自分で何とかなるでしょう
開発プラットフォームはesp32doit-devkit-v1
platform.iniにモニタースピードは115200bpsにしてます
さあ、コーディングが終わったら早速テストだっ
・・・
・・・
うんともすんとも言わない・・・
そ、そ、そんな時には慌てず騒がずSerial.printfで、色々出しまくれ
まあ、色々バグってて
電流値の計算を間違ったりw
ガリガリ直したのだけど・・・何で・・・・
[ 16][E][Wire.cpp:422] beginTransmission(): could not acquire lock
[ 17][E][Wire.cpp:526] write(): NULL TX buffer pointer
[ 17][E][Wire.cpp:526] write(): NULL TX buffer pointer
[ 22][E][Wire.cpp:448] endTransmission(): NULL TX buffer pointer
こういうメッセージが出てなんともなりませんな・・・
こういうときは、ググれカス
って感じでググったりしてたら
人によってはわざわざwireライブラリを使うときに
begin(sda,sdc,frequency)を設定してるんだよな
スイッチサイエンスのソースにはそんなのないのだけど
んで、VSCode上でbeginメソッドをIntelliSenseで見てたら・・・
frequency=0がデフォルト値に・・・
周波数0って・・・は?
試しに、
_wire->begin(21,22,400000);
ってやったら動いちゃったよ
やったー
ESP32ってsda,sdcピンってデフォルトだし他のサンプルアプリ全部見ても
周波数設定なんかして人なんて滅多にいないから何もしなくても動くもんだと思ってたら
設定しないとダメでした
とりあえず動作した動画
これからソースを整理してgithubで公開できるようにします
コメント
コメントを投稿