Pico, ESP32 и NRF24L01 Проблема со связьюC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Pico, ESP32 и NRF24L01 Проблема со связью

Сообщение Anonymous »

Я хочу общаться с pico и esp32 через nrf24l01.
Я использовал следующую библиотеку для связи между двумя пико, и она сработала:
https://github.com/AndyRids/pico-nrf24/ Tree/main
Мне удалось запустить nrf24l01 между двумя модулями esp32.
Но мне не удалось установить связь между pico и esp32 через nrf24l01.
Я использую esp32 c3 Devkit m1.
Заранее благодарим за помощь.
Esp32 main.cpp

Код: Выделить всё

#include "nRF24L01.h"
#include 

RF24 radio(8, 7, 5000000);  // CE CSN

uint8_t weight = 5;

const byte address[5] = {0x37, 0x37, 0x37, 0x37, 0x37};

void setup() {
Serial.begin(115200);

delay(2000);
if (!radio.begin()) {
Serial.println(F("Radio hardware not responding!"));
}
radio.setChannel(50);
radio.setDataRate(RF24_1MBPS);
radio.setPALevel(RF24_PA_MAX);
radio.enableDynamicPayloads();
radio.setPayloadSize(1);
radio.enableAckPayload();
radio.enableDynamicAck();
radio.setRetries(3, 10);
radio.setAddressWidth(5);
radio.openReadingPipe(0, address);
radio.startListening();
}
uint32_t sendTimer = 0;

void loop() {
if (radio.available()) {
radio.read(&weight, 1);
Serial.println(weight);
}
}
Пико main.c

Код: Выделить всё

int main() {
stdio_init_all();

pin_manager_t my_pins = {.sck = 2, .copi = 3, .cipo = 4, .csn = 5, .ce = 6};

nrf_manager_t my_config = {.channel = 50,
.address_width = AW_5_BYTES,
.dyn_payloads = DYNPD_ENABLE,
.data_rate = RF_DR_1MBPS,
.power = RF_PWR_NEG_12DBM,
.retr_count = ARC_10RT,
.retr_delay = ARD_500US};

uint32_t my_baudrate = 5000000;

nrf_client_t my_nrf;

nrf_driver_create_client(&my_nrf);

my_nrf.configure(&my_pins, my_baudrate);
my_nrf.initialise(&my_config);
my_nrf.payload_size(ALL_DATA_PIPES, 1);
my_nrf.standby_mode();
uint8_t payload_zero = 123;

fn_status_t success = 0;

uint64_t time_sent = 0;  // time packet was sent
uint64_t time_reply = 0;  // response time after packet sent

while (1) {
my_nrf.tx_destination((uint8_t[]){0x37, 0x37, 0x37, 0x37, 0x37});
time_sent = to_us_since_boot(get_absolute_time());  // time sent
success = my_nrf.send_packet(&payload_zero, sizeof(payload_zero));
time_reply = to_us_since_boot(get_absolute_time());  // response time
if (success) {
printf("\nPacket sent:- Response: %lluμS | Payload: %d\n",
time_reply - time_sent, payload_zero);
} else {
printf("\nPacket not sent:- Receiver not available.\n");
}
sleep_ms(3000);
}
}
Я старался убедиться, что все настройки в обоих случаях одинаковы, но, должно быть, я что-то упустил.

Подробнее здесь: https://stackoverflow.com/questions/790 ... ns-problem
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Модуль NRF24L01 не работает с Raspberry Pi Pico (MicroPython)
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • NRF24L01 Связь между Raspberry Pi 4 и Raspberry Pi Pico (Micropython) не работает
    Anonymous » » в форуме Python
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • NRF24L01 Связь между Raspberry Pi 4 и Raspberry Pi Pico (Micropython) не работает
    Anonymous » » в форуме Python
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Пригодность NRF24l01 для рекламы BTLE
    Anonymous » » в форуме Android
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Клиент Firebase ESP32: получение ошибки INVALID_EMAIL при анонимной аутентификации на ESP32
    Anonymous » » в форуме C++
    0 Ответы
    31 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»