NRF24L01广播弦乐按摩

时间:2019-02-10 21:18:47

标签: networking mesh broadcast radio

我正在使用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]); 

};

该代码应该将我输入到串行监视器的每条消息写到广播中

感谢帮助

0 个答案:

没有答案