两个Arduino Uno板子分别连接两块nRF24L01进行通信,接受和发送信号很不稳定,经常打开串口监视器,无法接收到数据,是板子和nRF24L01没连接好,还是什么原因呢?
另,是用USB hub连电脑的,会不会因为供电问题影响收发呢?
另,是用USB hub连电脑的,会不会因为供电问题影响收发呢?
1
agate Aug 3, 2015
我用的是 Mirf 库.
一开始我也是这样收不到信号. 发现至少要在 setup 中打出一次 println 才能收到效果(如果 setup println 的话 loop 的 code 就没作用...) 这个是我实验下来的经验. |
2
IanPeverell OP |
3
agate Aug 4, 2015
你是直接打出byte么? 能贴一下你的code么
|
4
IanPeverell OP @agate
#include <SPI.h> #include <Mirf.h> #include <nRF24L01.h> #include <MirfHardwareSpiDriver.h> void setup() { Serial.begin(9600); Mirf.spi = &MirfHardwareSpi; Mirf.init(); Mirf.setRADDR((byte *)"serv1"); Mirf.payload = 7; Mirf.channel = 3; Mirf.config(); } void loop() { byte data[Mirf.payload]; if(!Mirf.isSending() && Mirf.dataReady()) { Mirf.getData(data); int i; String Temp; for (i = 0; i < Mirf.payload; i++) { Temp += char(data[i]); } Serial.print("Get:"); Serial.print(Mirf.payload); Serial.print(" "); Serial.println(Temp); } } |
5
blanboom Sep 25, 2015
有时候是电源的问题,可以在 nRF24L01 模块的 VCC 和 GND 之间并联一个 1~10µF 的电容。
|