关于用Mirf库进行nRF24L01无线数传的一点问题
请教论坛各位大大:我用官网上的MiRF库做nRF24L01的传输,自带的两个例程ping_Client和ping_Sever都没问题(如图),可以ping通
但是自己写了一段发送一个字节的字符的时候,发现Server可以收到数据(显示Got Packet)但是没办法在串口打印出来(如图)
TX端代码如下
// nRF24L01_TX_based_on_Mirf.ino
#include <SPI.h>
#include <Mirf.h>
#include <nRF24L01.h>
#include <MirfHardwareSpiDriver.h>
char aaa;
void setup() {
Serial.begin(9600);
Mirf.spi=&MirfHardwareSpi;//setup spi pins
Mirf.init();
Mirf.setRADDR((byte *)"TXXX1");//Set receiving address
Mirf.payload = sizeof(char);//Set the payload length
Mirf.config();//channel config
Serial.println("beginning...");
}
void loop()
{
Mirf.setTADDR((byte *)"RXXX1");
while(Serial.read() > 0)
{
aaa='a';
Mirf.send((byte *)&aaa);
while(Mirf.isSending())
{}
}
}
RX端代码如下
// nRF24L01_RX_based_on_MiRF.ino
#include <SPI.h>
#include <Mirf.h>
#include <nRF24L01.h>
#include <MirfHardwareSpiDriver.h>
char data;
char aaa;
void setup()
{
Serial.begin(9600);
//Setup pins / SPI
Mirf.spi=&MirfHardwareSpi;
Mirf.init();
//config reciving address
Mirf.setRADDR((byte *)"RXXX1");//必须是5字节
//Set the payload length to size of uint8_t , the same of TX payload
Mirf.payload = sizeof(char);
Mirf.config();
Serial.println("Listening...");
}
void loop()
{
if(Mirf.dataReady())
{
Serial.println("Got Packet");
Mirf.getData((byte *)data);
aaa=data;
Mirf.rxFifoEmpty();
Serial.println((char *)&aaa);
}
}
请问这是什么原因?
IDE版本1.0.5,模块是国产nRF24L01,板子是两块UNO 本帖最后由 samhjn 于 2015-12-18 13:57 编辑
啊啊啊,我范二了
页:
[1]