
1 agate 2015-08-03 14:14:11 +08:00 我用的是 Mirf 库. 一开始我也是这样收不到信号. 发现至少要在 setup 中打出一次 println 才能收到效果(如果 setup println 的话 loop 的 code 就没作用...) 这个是我实验下来的经验. |
2 IanPeverell OP |
3 agate 2015-08-04 10:25:33 +08:00 你是直接打出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 2015-09-25 16:39:55 +08:00 有时候是电源的问题,可以在 nRF24L01 模块的 VCC 和 GND 之间并联一个 1~10F 的电容。 |