我有一个使用nRF24l01 +射频模块的SPI(使用这个库:http://tmrh20.github.io/RF24/)和一个基于软件串口的RFID阅读器的Arduino项目。我正在睡觉我的Arduino,并让他们在收到消息或准备好读取RFID标签时通过中断将其唤醒。 RFID在引脚4和引脚5上,而nRF引脚9-13和中断引脚2。Arduino软件与SPI的冲突?
这两个模块都可以单独与睡眠和中断代码一起工作,但是当结合到一个草图中时,Arduino将由于RFID标签而醒来,读取它,然后尝试通过无线电发送某些内容,然后挂起,等待库调用write()返回。
我已经钻研了一下两个库,但我大多无法制作软件串行库的正面或反面。它似乎可能在幕后使用与我的nRF模块相同的ISR,但我不会立即明白为什么这应该是一个大问题,我不明白为什么它应该导致无线电挂断。
我知道这可能是一个长镜头,但没有人有任何想法可能会发生什么?也许有人知道这些库?任何关于工作的想法?谢谢。
你的意思是软件SPI与RFID阅读器? –
RFID阅读器使用softwareserial,因此使用UART类型的协议。 nRF使用SPI。 – MaxStrange
所以我把它的硬件串行端口都采取?无论如何,他们应该一起努力。收音机是如何供电的?一个单独的供应?这是不是一个?如果它是一个uno,并且您使用的是3.3v,那么我将使用单独的3.3v电源,因为它的电流容量非常小,并且添加另一个设备可能会使其停止工作。但是,如果情况并非如此,那么在从RFID读取禁用软件串行之后,它不会关闭中断(如果它在您尝试传输时又得到另一个中断)。看看它是否有效。它的一个软件问题或电台的电源问题 –