Не работает скетч для 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 это у него такие параметры, ну а дальше смотреть что получится