Я использую модуль NRF24L01 и пытаюсь создать Mesh Network (Топология полной сетки).Я использую библиотеку RF24 TMRH20 и каждый раз, когда пытаюсь написать сообщение с функцией '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]);
};
Коддолжен писать на радио каждое сообщение, которое я ввожу на последовательный монитор
спасибо за помощь