|
发表于 2013-10-23 11:19:01
|
显示全部楼层
yxwzyyk 发表于 2013-10-15 07:10
不是必须,可以不使用中断,需要的时候调用dataready()检测是否有数据到来就可以了,中断只是方便点我写 ...
我用读取寄存器值得方式接收数据,怎么不能显示buf中的数据?
还望指点!
#include "NRF24L01.h"
#define RX_NAME "32899"
/* 声明nRF24L01 */
nRF24L01 nrf24;
/* 建立接收数据缓存,初始化为0 */
char buf;
void setup()
{
Serial.begin(9600);
nrf24.init();
nrf24.payload = 1;
nrf24.setRADDR(RX_NAME);
nrf24.config();
/* 设定中断 */
// attachInterrupt(0, readData, LOW) ;
}
void loop()
{
// Serial.println("Wait...");
// delay(1000);
// Serial.println("Interrupt!");
if(nrf24.dataReady())//确认接收
{
Serial.println("Receiving the data!");
nrf24.getData(&buf);//接收数据
Serial.print("Data -> ");
Serial.print(buf);
Serial.println(" ");
}
else
{
Serial.println("NULL!");
}
}
/*void readData (void) {
Serial.println("Interrupt!");
if(nrf24.dataReady()){
Serial.println("Receiving the data!");
nrf24.getData(&buf);
Serial.print("Data -> ");
Serial.print(buf);
Serial.println(" ");
} else {
Serial.println("NULL!");
}
}*/
|
|