• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:アトメルのマイコンで、SPI通信で送信ができない)

AtmelマイコンのSPI通信で送信ができない

このQ&Aのポイント
  • ラズパイ3とAtmelのマイコンATxmega128A1を乗せた基板とをSPI通信させようとしています。
  • ATxmega128A1にAtmel-ICEでデバッグしながらプログラムを作っていてわかったのは、ラズパイから送信されてきた3バイトのデータは配列のcmd_data[]のcmd_data[0] = 0x02 cmd_data[1] = 0x16 cmd_data[2] = 0x00 このようにデータが入ってきていて、この部分のSPI通信は問題ないと思うのですが、
  • SPIF.DATA = txdata; この部分をデバッガでレジスタの設定などを見ていくと、txdata = 0x55と入っていても SPIF.DATAの内容は全く0x55に書き換わらないのですが、この場合、何かSPI通信の設定で確認したほうがよい内容などをご教示頂きますよう、よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • kaba__san
  • ベストアンサー率45% (27/59)
回答No.1

SPIスレーブはマスターからクロックをもらわないと送出できないのですが、ラズパイはちゃんと出してくれているのですか?

techhouse
質問者

お礼

回答頂きありがとうございます。一応SPI通信が出来るようになりました。原因が、コード内でのパケット数のカウントをクリアする箇所があるのですが、どうやら、このカウントのクリアのタイミングを間違ってしまって、プログラムの解釈で圧縮されてパケットが送信されないという現象のようでした。プログラムの書き方が汚かったかもしれません。 助かります。

関連するQ&A