我是Raspberry Pi的新手,我需要升级Arduino项目。
我正在尝试从Arduino接收Raspberry Pi上的数据。
当我尝试运行程序时,它失败。它受到在线教程的启发
#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。我真的不知道哪里出了问题。
有什么建议吗?
编辑:
我的引脚输出