Nrf24l01+
- Войдите на сайт для отправки комментариев
Пнд, 28/03/2016 - 17:04
всем привет!
наверное уже избитая тема, но вот такой вопрос, в чём причина такой ошибки
In file included from C:\Users\Pavel\AppData\Local\Temp\arduino_7b76e4293e525d63c3503b31f61a6d62\tx.ino:3:0:
C:\Program Files (x86)\Arduino\libraries\RF24-master/RF24.h: In function 'void setup()':
C:\Program Files (x86)\Arduino\libraries\RF24-master/RF24.h:159:11: error: 'uint8_t RF24::flush_tx()' is protected
uint8_t flush_tx(void);
^
tx:26: error: within this context
radio.flush_tx();
^
In file included from C:\Users\Pavel\AppData\Local\Temp\arduino_7b76e4293e525d63c3503b31f61a6d62\tx.ino:3:0:
C:\Program Files (x86)\Arduino\libraries\RF24-master/RF24.h: In function 'void loop()':
C:\Program Files (x86)\Arduino\libraries\RF24-master/RF24.h:159:11: error: 'uint8_t RF24::flush_tx()' is protected
uint8_t flush_tx(void);
^
tx:44: error: within this context
radio.flush_tx();
^
In file included from C:\Users\Pavel\AppData\Local\Temp\arduino_7b76e4293e525d63c3503b31f61a6d62\tx.ino:3:0:
C:\Program Files (x86)\Arduino\libraries\RF24-master/RF24.h:159:11: error: 'uint8_t RF24::flush_tx()' is protected
uint8_t flush_tx(void);
^
tx:51: error: within this context
radio.flush_tx();
^
exit status 1
within this context
использовал код их этого видео https://www.youtube.com/watch?v=EM6v_esp1Ow
Ну. просто метод flush_tx объявлен как protected, значит его нельзя использовать снаружи класса, только внутри или в классах-наследниках.
Решения два (если он Вам действительно нужен), либо создать класс-наследник и использовать из него, либо полезть в .h файл библтотеки и сделать его public.
а как создать класс-наследник?
class RF24Derived : public RF24 { public: RF24Derived() : RF24() {} };Не знаю, есть ли конструктор без параметров в RF24 ;) Но принцип изложил. Строго говоря - лучше вам почитать про наследование в С++ - это ж один из трёх китов ;)