NucleoをArduinoIDEで開発する際に注意が必要なポイントはPWM、外部割込み、I2Cなどの多機能ポートの位置です。
私もI2Cを動作させるのにとても苦労しました。
ArduinoUNOではSDA:A4、SCL:A5なのでNucleoでも同じ位置に接続して動作確認するもNG!
PING、Servoと順調に動作確認できていたので、”あれ?”となりました。
一番のハマりポイントだと思いますので気を付けて下さい。
F446REではSDA:D14、SCL:D15となります。
繋ぎ変えたらあっさり動作しました。
図の青色はNucleoネイティブのピンで、内側のピンクがArduinoUNO互換ピンです。
ArduinoUNO互換ピンを両脇に表形式で追記してありますので黄色の位置に注目して下さい。
マイコンボード毎に異なる可能性がありますので、必ず御自分のボードの多機能ポートの位置を調べて下さい。