STM32いじってみた(7) I2C送信編

続いて I2C です。が、この機能ではとりあえず秋月LCDモジュールを動作させることを目的にしたため、受信用の関数は作っていません。EEPROM は I2C が多いのですが、スミマセン。送信のみの実装とさせてください。

ソースコード

割りと素直に設定できます。注意すべきは、アドレスを送信バッファに書き込まないこと。その部分は HW でやってくれるらしいので、IC21_CR2 レジスタに書き込んで頼りましょう。
114514 こと LPC1114 とはだいぶ違い、特に状態遷移を意識しなくても、とりあえず送信するロジックを書いておけば動くのです。この点実装はだいぶラクに感じました。

あ、そういえばこの送信関数のコード、Buggy ですね。そんな無闇矢鱈に | してたら、送信フォーマットが変わった時に大変なことになってしまうなあと今更ながら思いました。この辺は複数の機器と通信を行わせる人は各自直してくださいね。

…なんか回を重ねるごとにどんどん解説が雑になっている気がするが…まあこれでいいのかと思うこの頃。