Код связи между nrf24l01 внезапно не работает. Аппаратное обеспечение в порядке
Я специально сохранил код для проверки соединения, но он, похоже, больше не работает.
Все примеры из этого простого учебника работают, так что это не может быть аппаратной проблемой.
Может быть, кто-то сможет найти причину, по которой код не будет работать? Он возвращает radio.available() как false
//Transmitter
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
RF24 radio(7, 8); // CE, CSN
const byte addresses[][6] = {"00001", "00002"};
float valueTransmit;
float valueRecieved;
void setup() {
Serial.begin(9600);
radio.begin();
radio.openWritingPipe(addresses[1]); // 00002
radio.openReadingPipe(1, addresses[0]); // 00001
radio.setPALevel(RF24_PA_LOW);
valueTransmit = 0
}
void loop() {
radio.stopListening();
radio.write(&valueTransmit, sizeof(valueTransmit));
delay(5);
radio.startListening();
if (radio.available() ) {
radio.read( &valueRecieved, sizeof(valueRecieved) );
Serial.print(valueRecieved);
valueTransmit = valueRecieved + 0.01;
}
}
//Reciever
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
RF24 radio(7, 8); // CE, CSN
const byte addresses[][6] = {"00001", "00002"};
float valueTransmit;
float valueRecieved;
void setup() {
Serial.begin(9600);
radio.begin();
radio.openWritingPipe(addresses[0]); // 00001
radio.openReadingPipe(1, addresses[1]); // 00002
radio.setPALevel(RF24_PA_LOW);
}
void loop() {
radio.startListening();
if (radio.available() ) {
radio.read( &valueRecieved, sizeof(valueRecieved) );
Serial.print(valueRecieved);
valueTransmit = valueRecieved + 1;
}
radio.stopListening();
radio.write(&valueTransmit, sizeof(valueTransmit));
delay(5);
}
@Maksiss, 👍1
Обсуждение0
Смотрите также:
- Команды библиотеки RF24, канал и адрес
- Как отправить данные датчика с Arduino через NRF24L01 на Raspberry Pi
- Самая низкая задержка при запуске нескольких Arduino с использованием NRF24L01+
- Понимание спецификаций NRF24L01
- Беспроводная связь с NRF24L01+
- Ардуино с nRF24L01.
- nrf24l01 сгорел при подаче 6,5 В на VIN?
- nRF24L01 - пропускает конечные символы во время передачи
"внезапно не работает" означает, что он работал и вышел из строя без каких-либо изменений ... так вот что случилось?, @jsotola
@jsotola Честно говоря, прошло много времени с тех пор, как я написал этот код, так что не могу быть слишком уверен. Но я помню, как был счастлив, наконец, увидеть, как он работает, и вставить его в блокнот. Если я и внес какие-то изменения, то только для того, чтобы они выглядели лучше., @Maksiss
Кроме того, я попытался отредактировать пример кода учебника для работы только с целыми числами и сложением чисел и сделал [это](https://pastebin.com/5wqmsPpH) чтобы показать, что я изменил. Это также заставило его перестать работать, и я не мог понять, почему. Не то чтобы я изменил что-то важное, просто данные, которые он отправляет., @Maksiss