PIC32MXのSPI slaveの動作にハマる

PIC32MXでSPIのslaveモードを使用するプログラムを作成。ハマった。SPIは良く使うが、slaveモードを使うのは初めて。

プログラムを作成し、Arduinoでテスト信号を発生させ、動作させて見るも、まったく反応していない。何も受信していない感じ。CSとSCLKさえ動作すれば、MISOやMOSIが繋がっていなくても、なんらかのデータは受信するはずだ。試しに、masterモードにしてみるとsclkからクロックが出力されたので、設定は間違っていないはず..だが動かない。

散々なやんだあげく対応するANSELのビットをクリアしたら、動作を始めた。出力モードだとANSELは関係ないが、入力だと影響を受けるということか。なんか納得しがたいがそうなっているのなら仕方がない。動いたので解決だ。

Leave a Reply

メールアドレスが公開されることはありません。