ここに私の問題があります。PIC 16F913 のすべての通信回線が同じピン セットにあるようです。これは、通信を行うためだけに GPIO ピンを犠牲にする必要がないという点で便利ですが、私が抱えている問題はチップで SPI を使用している場合、RS232 に情報を送信するにはどうすればよいですか?
この問題が発生した理由は、SPI 経由で通信する CAN バス チップを購入したばかりで、RS232 でデータを表示したいので、メッセージを表示できるようにしたいからです。(私はまだCANについてあまり知らないので、これが理にかなっているのかどうかは誰にもわかりません).
これが私が見るオプションです。おそらく、他の誰かが私が見逃しているより良いアイデアを持っているかもしれません。
- どういうわけか、データを取得するたびに SPI と RS232 を切り替えるタイム スキームをセットアップします。
-- これは難しくないようで、うまくいくはずですが、メッセージを見逃したくない場合、RS232 への書き込み中にメッセージが書き込まれた場合、それを見逃す可能性はありますか?
2.. いつでも SPI を使用できますが、別の PIC 16F913 への 8 つの GPIO ラインを介して独自の通信バスを構築し、GPIO ラインのみを使用します。RS232 ラインは 2 番目の PIC で空いているので、単純に読み取ることができます。データを吐き出します。
-- これは実行可能ですが、2 つのチップとすべての GPIO ラインを無駄にしています。
もっと良い方法があるはずです。それともありますか?
どんな助けでも大歓迎です。
更新:明確にしたいのですが、明らかに1つの解決策は完全に異なるチップを使用することです(18Fをプログラムできれば、実際に私がやることになるかもしれません)が、最悪のシナリオに興味があります.私はリソースが限られており、いくつかの 913 しか持っていません。上記の方法がこのチップでそれを行う唯一の方法ですか、それともより良い方法がありますか?