Не работает скетч для NRF24l01
- Войдите на сайт для отправки комментариев
Вс, 25/01/2015 - 12:40
Ребят,помогите со скетчем...Пробовал во всех версиях arduino ide
и везде ругается на одну и ту же строку "data = radio.read( &dataIn, sizeof(dataIn));"
Сама ошибка "priemnik_3_int.cpp: In function 'void loop()':
priemnik_3_int:39: error: void value not ignored as it ought to be
"
#include <SPI.h>
#include "nRF24L01.h"
#include "RF24.h"
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include "printf.h"
RF24 radio(9,10); // Определяем рабочие ножки;
const uint64_t pipe = 0xE8E8F0F0E1LL; // Определяем адрес рабочей трубы;
LiquidCrystal_I2C lcd(0x27,16,2);
int data;
void setup() {
radio.begin(); // Старт работы;
radio.enableAckPayload(); // Разрешение отправки нетипового ответа передатчику;
radio.openReadingPipe(1,pipe); // Открываем трубу и
radio.startListening(); //начинаем слушать;
pinMode(6, OUTPUT);
pinMode(5, OUTPUT);
pinMode(3, OUTPUT);
pinMode(2, OUTPUT);
digitalWrite(5, HIGH);
digitalWrite(6, LOW);
lcd.init(); // initialize the lcd
lcd.backlight();
lcd.print("Data monitor");
}
void loop() {
uint32_t message = 111; //Вот какой потенциальной длины сообщение - uint32_t!
//туда можно затолкать значение температуры от датчика или еще что-то полезное.
radio.writeAckPayload( 1, &message, sizeof(message) ); // Грузим сообщение для автоотправки;
if ( radio.available() ) { //Просто читаем и очищаем буфер - при подтверждении приема
int dataIn; //передатчику приемник протолкнет ему в обратку наше сообщение;
bool done = false;
while (!done) {
data = radio.read( &dataIn, sizeof(dataIn));
if(data > 0) {
bool done= true;
}
//done = // Значение dataIn в данном случае
//не важно. Но его можно использовать и как управляющую команду.
}
lcd.clear();
lcd.print(dataIn);
}
}
message это сообщение или длинна? В комментарии написано длинна, в writeAckPayload вторым параметром передается указатель на буфер получается message и есть сообщение. bool done=true заменить на done=true.
read вызывается без параметров, судя по вашему вызову должно быть написано не read а readBytes это у него такие параметры, ну а дальше смотреть что получится