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~10µF 的电容。
|