Я новичок в Raspberry Pi, мне нужно обновить проекты Arduino.
Я пытаюсь поэкспериментировать с получением данных о моем Raspberry Pi от Arduino.
Когда я пытаюсь запустить программу, происходит сбой. Он основан на онлайн-учебнике
#include <iostream>
#include <RF24/RF24.h>
RF24 radio(RPI_V2_GPIO_P1_22, RPI_V2_GPIO_P1_24, BCM2835_SPI_SPEED_8MHZ);
const uint8_t data_pipe[6] = "00001";
void setup(void) {
radio.begin();
radio.setRetries(15, 15);
radio.setPALevel(RF24_PA_MAX);
radio.openReadingPipe(1, data_pipe);
radio.startListening();
}
int main(int argc, char** argv) {
setup();
while (true) {
if (radio.available()) {
int payload_size = radio.getDynamicPayloadSize();
if (payload_size > 1) {
char* payload = new char[payload_size + 1];
radio.read(payload, payload_size);
payload[payload_size] = '\0';
std::cout << "data: " << payload << std::endl;
}
}
}
}
учебник
Но я получил ошибку
terminate called after throwing an instance of 'int'
Aborted
При отладке я нашел этот методradio.available () возвращает -1. Я думаю, что у меня плохие настройки порта в радио, я действительно не знаю. У меня Raspberry Pi 2 модель B v1.1.
Я подключил CE и CS к контактам 11-го и 12-го на первой линии. Я не уверен с нумерацией. Также я не знаю, как установить его здесь.
RF24 radio(RPI_V2_GPIO_P1_22, RPI_V2_GPIO_P1_24, BCM2835_SPI_SPEED_8MHZ);
Я перепробовал множество версий, в том числе
RF24 radio(22, 24, BCM2835_SPI_SPEED_8MHZ);
с множеством комбинаций нумерации выводов (11/12, 25/ 8) и т.д. Распиновка показывает мне GPIO25 и GPIO8. Я действительно не знаю, где проблема.
Пожалуйста, есть предложения?
РЕДАКТИРОВАТЬ:
вывод моей распиновки