質問: pic spi通信 pic16f1823で温度センサーからspi通信でデータを取得しています。 正常時は問題なくデータを取得できますが、温度センサー側の電源が投入されていない状態か接続されていない状態で通信を行うと、picの受信完了フラグ(ssp1stabits.bf)バッファーフルステータスビットがフルになりません。 たとえ、センサー側の電源がoffだとしても、spiでデータを取得する場合、信号ラインは、hiかlowの電位であれば、データが00かff等で間違ったデータを受信して、bfフラグがオンするのではないかと考えますがなりません。 なぜだか、ご存じの方いましたら、教えてください。 arduinoでは、センサー側が未接続でも、関数は抜けてきます。
回答: spiは自身のクロックピンの信号で8カウントしているので、クロック信号が無電源のセンサーに吸い込まれてhiレベルまで上げきれてないのではないでしょうか。 クロック信号に1kω程度の抵抗を挿入して試してみてはどうでしょう。