我正在使用NRF24L01模块,并且正在尝试创建网状网络(全网状拓扑)。我正在使用TMRH20的RF24库,并且每当尝试使用'write()'函数编写消息时-都会失败。
这是代码
#include "config.h"
void reciveMessage();
void sendMessage(String str);
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
radio.begin();
Serial.print("<START> ");
Serial.println(NodeId);
radio.openReadingPipe(1,addresses[0]);
radio.openWritingPipe(addresses[1]);
radio.startListening();
}
void loop() {
// put your main code here, to run repeatedly:
if(radio.available()) reciveMessage();
//If there is new message to send - send it
if(Serial.available()>0){
String str = Serial.readString();
sendMessage(str);
}
}
void reciveMessage(){
payload_t payload;
radio.read(&payload,sizeof(payload_t));
Serial.print("New incoming massege: ");
Serial.println(payload.data);
};
void sendMessage(String str){
radio.openReadingPipe(1,addresses[1]);
radio.openWritingPipe(addresses[0]);
payload_t payload;
str.toCharArray(payload.data,sizeof(payload.data));
radio.stopListening();
if(!radio.write(&payload,sizeof(payload_t))){
Serial.println("Send failed");
};
delay(100);
radio.startListening();
radio.openReadingPipe(1,addresses[0]);
radio.openWritingPipe(addresses[1]);
};
该代码应该将我输入到串行监视器的每条消息写到广播中
感谢帮助