BluePillでI2C(うまくいかん・・)

STM32(BluePill)がArduino環境で動くようになったので、I2Cにチャレンジしています。

ターゲットデバイスはジェスチャー検知デバイスのAPDS-9960です。ちょうど、Arduinoの標準ライブラリがあるので、これで動かしてみたいと思ってトライしています。

で、ブレッドボード上にこんな感じで組んでみました。

BluePillボード+APDS-9660センサテスト環境。Flashの書き込みはSTLinkで実施。シリアルはSerial3に秋月の絶縁タイプのFT234X基板を使用。左下の3本のケーブルはラジコンサーボに接続されています。

この記事でRTOSのテストを兼ねてLチカしたり、ラジコンサーボを動かしたりした環境に追加したので、それらが残ったままになっています。

で、ライブラリのサンプルを動かしてもさっぱり動きません。オシロで波形をみても、SDAが出ておらず、わけがわかりません。

もっとシンプルに、I2Cデバイスのスキャンを行うサンプルプログラムを実行したのですが・・・。

上の赤がSCL(PB7)、下の黄色がSDA(PB6)です。そもそもStart Conditionが出ていないので、動かないのも当たり前なのですが、理由がさっぱりわかりません。ターゲットデバイス以前の問題です。

SoftWire.hをインクルードして、ハードウェアI2CではなくソフトウェアI2Cとしても波形は一緒です。

うーん。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)