ArduinoとSTM32マイコンをつないでマイコンシステム開発をしてみる その11 ~検証実験③~
マイコンシステム開発の要件定義から総合テストまでの工程をたどってみます。
題材としては、空調管理システムにします。
機材はいま手元にあるArduino1台とSTM32マイコン1台を使います。
実装に入る前に検証実験をおこないます
以下の3点をおこないます。
① STM32で計測した気温データをSPI通信でArduinoに送信。
1)STM32単体で、計測した気温データをUSB経由で端末エミュレータに出力。(完了)
2)SPI通信でSTM32からArduinoにテストデータを送信。(前回失敗)
② Arduinoは気温データを受信し、LCDに表示。
③ ArduinoからSTM32に制御データを送信し、LEDを点灯。
前回は、STM32からArduinoへのSPI通信に失敗しました。今回はそのトラブルシューティングです。
トラブルシューティング
1.SPI通信の配線確認
配線を確認しましたが、正しそうです。
2.受信確認
下記は受信側のArduinoのプログラムです。
実行すると、setup() 関数内に記述しているシリアルモニタに出力するコードは実行され、"SPI Slave Initialized" と出力されました。
しかし、loop() 関数内に記述しているシリアルモニタに出力するコードは実行されてません。
受信時の割り込みが発生していない、つまり受信できていないことがわかりました。
3.送信確認
下記は送信側のSTM32のプログラムです。
実行すると、"Sent OK"と出力されました。
うーん。SPIでデータの送信はできているよです。
やはり結線の問題でしょうか。