I2C通信アプリ【STM32のI2C】
![](https://depfields.com/wp-content/uploads/2020/06/cyberspace-2784907_640.jpg)
STM32マイコンのI2C仕様型EEPROMへの読み込み、書き込みするアプリケーションプログラムです。ペリフェラルの詳細はシリアル通信I2Cで解説しています。
![](https://depfields.com/wp-content/uploads/2020/06/i2c-eeprom_NUCLEO.jpg)
![](https://depfields.com/wp-content/uploads/2020/05/instructor.jpg)
ここではI2C2を使用するためにPB10とPB11を使用します。メモリから読み込んだデータを表示するためにUSART3を使用してモニターへ転送しています。
![](https://depfields.com/wp-content/uploads/2020/05/instructor.jpg)
I2C EEPROMのチップアドレスは上図のようにA0,A1,A2を0VにしているのでA0です。詳細はI2C EEPROM 24LCxxのデータシートで確認してください。
![](https://depfields.com/wp-content/uploads/2020/05/instructor.jpg)
3つのデータ(data1,data2,data3)をI2C EEPROMに書き込んだり読み出したりしています。
![](https://depfields.com/wp-content/uploads/2020/05/instructor.jpg)
プログラム起動直後はあらかじめEEPROMに保存されているデータを表示します。
プログラム解説
![](https://depfields.com/wp-content/uploads/2020/05/instructor.jpg)
3種類の文字列コマンド"1@", "2@", "3@”のどれかをPCで入力すると、そのコマンドに対応したデータがEEPROMに書き込まれ、1000msサイクルごとに保存されたデータを読み出し表示します。
![](https://depfields.com/wp-content/uploads/2020/05/instructor.jpg)
データはコマンドを入力するたびに書き換えられます。
![](https://depfields.com/wp-content/uploads/2020/05/instructor.jpg)
シリアルUART通信によりPCから操作して、読み書き(送受信の機能)の状態をモニターしています。