ожидаемый инициализатор перед 'RF24'
Я делаю такой код */
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <Servo.h>
#define CE_PIN 9
#define CSN_PIN 10
const uint64_t pipe = 0xE8E8F0F0E1LL;
int servoy;
int servox;
Servo Yservo;
Servo Xservo;
RF24 radio(CE_PIN, CSN_PIN);
int joystick[2];
void setup()RF24
{
Serial.begin(9600);
delay(1000);
radio.begin();
radio.openReadingPipe(1,pipe);
radio.startListening();
Xservo.attach(3);
Yservo.attach(5);
}
void loop()
{
if ( radio.available() )
{
bool done = false;
while (!done)
{
done = radio.read( joystick, sizeof(joystick) );
servox= joystick[0]/5.683;
servoy= joystick[1]/5.683;
Serial.println(servoy);
Yservo.write(servoy);
Serial.println(servox);
Xservo.write(servox);
}
}
else
{
Serial.println("NO RADIO CONECTION");
}
}
и я не знаю, что случилось, говорят, что
sketch_aug20b_rc_rc_rc_22:33:13: error: expected initializer before 'RF24'
void setup()RF24
^
C:\Users\ASUS\Documents\Arduino\sketch_aug20b_rc_rc_rc_22\sketch_aug20b_rc_rc_rc_22.ino: In function 'void loop()':
sketch_aug20b_rc_rc_rc_22:51:6: error: void value not ignored as it ought to be
done = radio.read( joystick, sizeof(joystick) );
^
exit status 1
expected initializer before 'RF24'
@user58955, 👍-1
Обсуждение1 ответ
У вас две проблемы:
sketch_aug20b_rc_rc_rc_22:33:13: error: expected initializer before 'RF24'
void setup()RF24
^
Это в основном говорит: "Я не понимаю, что вы имеете в виду под RF24 здесь". Этот RF24
в этой строке не должен существовать. Я предполагаю, что вы сделали какую-то опечатку или ошибку копирования.
Второе:
C:\Users\ASUS\Documents\Arduino\sketch_aug20b_rc_rc_rc_22\sketch_aug20b_rc_rc_rc_22.ino: В функции 'void loop()':
sketch_aug20b_rc_rc_rc_22:51:6: error: void value not ignored as it ought to be
done = radio.read( joystick, sizeof(joystick) );
Это говорит о том, что radio.read
не возвращает значение, но вы пытаетесь присвоить несуществующее значение чему-то.
Согласно документации для RF24::read()
:
Прочитать доступную полезную нагрузку
Размер считываемых данных — это фиксированный размер полезной нагрузки, см. getPayloadSize()
Примечание
Я специально выбрал 'void*' в качестве типа данных, чтобы его было проще использовать новичкам. Кастинг не требуется.
Больше не логическое значение. Используйте available, чтобы определить, доступны ли пакеты. Флаги прерывания теперь сбрасываются во время чтения, а не при вызове available().
Параметры
buf
Указатель на буфер, в который должны быть записаны данные
len
Максимальное количество байтов для чтения в буфересли(радио.доступно()){ radio.read(&data,sizeof(data));
Возврат
Нет возвращаемого значения. Используйте доступный().
- вопрос по трубке nRF24L01
- Как подключить NodeMCU к NRF24L01
- Переключение каналов NRF24l01
- Использование функции уровня сигнала модуля nRF24L01
- Как автоматически сбросить nrf24l01+ с кодом?
- NRF24L01+ PA не работает с Arduino Mega (работает с Nano)
- Пустое значение не игнорируется, как должно быть.
- Не получаем данные от NRF24L01
По сути, это говорит: «Почему у вас есть случайный «RF24» в середине вашего кода?» - и я спрашиваю о том же..., @Majenko