Nrf24l01+

_A_r_d_u_i_n_o
Offline
Зарегистрирован: 02.08.2015

всем привет!

наверное уже избитая тема, но вот такой вопрос, в чём причина такой ошибки

 


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

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Ну. просто метод flush_tx объявлен как protected, значит его нельзя использовать снаружи класса, только внутри или в классах-наследниках.

Решения два (если он Вам действительно нужен), либо создать класс-наследник и использовать из него, либо полезть в .h файл библтотеки и сделать его public.

_A_r_d_u_i_n_o
Offline
Зарегистрирован: 02.08.2015

а как создать  класс-наследник?

 

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015
class RF24Derived : public RF24
{
public:
RF24Derived() : RF24() {}
};

Не знаю, есть ли конструктор без параметров в RF24 ;) Но принцип изложил. Строго говоря - лучше вам почитать про наследование в С++ - это ж один из трёх китов ;)