SPI通信のアプリ【STM32のSPI】
![](https://depfields.com/wp-content/uploads/2020/06/fiber-4814456_640.jpg)
SPI仕様EEPROMへの読み込み、書き込みするアプリケーションプログラムです。ペリフェラルの詳細はシリアル通信SPIで解説しています。
![](https://depfields.com/wp-content/uploads/2020/05/instructor.jpg)
I2C通信の場合はチップセレクトにアドレスを指定しますが、SPI通信の場合は通信のたびにチップセレクト信号CSを与えて(Lレベルにする)指定します。
![](https://depfields.com/wp-content/uploads/2020/05/instructor.jpg)
SPI EEPROMへの書き込み、読み込み等コマンドはプログラム冒頭に#defineで定義しておきます。内容については各EEPROMのデータシートを参考にしてください。
![](https://depfields.com/wp-content/uploads/2020/06/spi-eeprom_NUCLEO.jpg)
プログラム解説
![](https://depfields.com/wp-content/uploads/2020/05/instructor.jpg)
SPI EEPROMへの書き込み、読み込み等コマンドはプログラム冒頭に#defineで定義しておきます。内容については各EEPROMのデータシートを参考にしてください。
![](https://depfields.com/wp-content/uploads/2020/05/instructor.jpg)
2種類の文字列コマンド"1@", "2@"のどれかをPCで入力すると、そのコマンドに対応したデータがEEPROMに書き込まれ、保存されたデータを読み出し表示します。
![](https://depfields.com/wp-content/uploads/2020/05/instructor.jpg)
データはコマンドを入力するたびに書き換えられます。
![](https://depfields.com/wp-content/uploads/2020/05/instructor.jpg)
シリアルUART通信によりPCから操作して、読み書き(送受信の機能)の状態をモニターしています。
ポイント
使用したEEPROM(BR25G640-3)はSPI通信モードは0と3にのみ対応していますのでパラメータのCPOLとCPHAの組み合わせはそれぞれ(0,0)か(1,1)となります。