发送端代码
#include <nRF24L01.h>
#include <printf.h>
#include <RF24.h>
#include <RF24_config.h>
#include <SPI.h>
/*7CE 8CSN 11MOSI 12MISO 13SCK*/
char i = 22;
RF24 radio(7,8);//CE,CNS
const byte address[6] = "00001"; //设置通道地址
void setup() {
Serial.begin(9600);
radio.begin(); //创建对象
radio.openWritingPipe(address); //使用openWrtingPipe()函数接受地址
radio.setPALevel(RF24_PA_MIN); //设置功率大小
radio.stopListening(); //设置为发射机
}
void loop() {
radio.write(&i,sizeof(i));
Serial.println(i);
}
发送端显示22 22 22
接收端代码
#include <nRF24L01.h>
#include <printf.h>
#include <RF24.h>
#include <RF24_config.h>
#include <SPI.h>
RF24 radio(7,8);//CE,CNS
const byte address[6] = "00001"; //设置通道地
void setup() {
Serial.begin(9600);
radio.begin(); //创建对象
radio.openReadingPipe(0,address); //使用openWrtingPipe()函数接受地址
radio.setPALevel(RF24_PA_MIN); //设置功率大小
radio.startListening(); //设置为接收机
}
void loop() {
int i;
if(radio.available())//检测是否有可接收数据
{
//digitalWrite(power,HIGH);//收到有效信号就开启驱动
radio.read(&i,sizeof(i)); //读取数据并存储
Serial.println(i);
}
else
{
Serial.println(333);
}
}
接收端输出0 0 0 0 0 0 .....
--------------------------------------------------------------------
请问为什么没有接受到22 22
还有就是原本正常通信的两个单片机和模块,从面包板换成直接插线测试了接不行了,插回原来面包板也不行了,程序也每改,就是重新上传了。
谢谢各位帮忙解答!!!
|