SPI経由でnRF24l01 +無線モジュールを使用しているArduinoプロジェクトがあります(このライブラリを使用:http://tmrh20.github.io/RF24/)およびソフトウェアシリアル経由のRFIDリーダー。私はArduinoをスリープ状態にして、メッセージを受信したとき、またはRFIDタグを読み取る準備ができたときに、割り込みを介してArduinoを目覚めさせます。RFID はピン 4 と 5 にあり、nRF はピン 9 ~ 13 と割り込み用の番号 2 をカバーします。
これらのモジュールは両方とも、スリープ コードと割り込みコードを別々に使用すると正常に動作しますが、1 つのスケッチに組み合わせると、Arduino は RFID タグにより起動し、それを読み取り、無線で何かを送信しようとして、ハングします。 write() へのライブラリ呼び出しが戻るのを待っています。
2 つのライブラリについて少し掘り下げましたが、ほとんどの場合、softwareserial ライブラリの頭も尻尾もわかりません。私の nRF モジュールと同じ ISR を舞台裏で使用しているようですが、なぜそれが大きな問題になるのかすぐにはわかりません。また、無線がハングする理由もわかりません。
私はそれがロングショットかもしれないことを知っていますが、誰かが何が起こっているのか知っていますか? 多分誰かがこれらのライブラリを知っていますか?回避策について何か考えはありますか?ありがとう。