ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
20 апреля
1511574 Топик полностью
Fomich (15.04.2025 07:05, просмотров: 249) ответил Fomich на Всем привет! Купил у китайских продаванов несколько модулей NRF24L01+. Планирую сделать устройство на AVR (mega8,mega16,mega328) для дистанционной передачи данных с датчиков DS18B20 на табло в доме. Начал изучать теорию и потраха модуля. Просмотрел кучу ресурсов русскоязычных, информации море... Но подходящих приложений не нашёл... Прошу поделиться ссылками, уважаемые, если кто уже сталкивался с подобными проектами, которые можно взять за основу. Есть небольшой опыт работы
Всем привет! 

Прошу помощи ещё раз. Разбираюсь с программированием модулей связи NRF24L01. Скачал проект с другого форума, который взял за основу, 10-летней давности... Собственно вопрос - в проекте при инициализации модуля используется директивы условной компиляции If

void nrf24l01_init() {

nrf24l01_CElo; //low CE

nrf24l01_CSNhi; //high CSN

delay_ms(5); //wait for the radio to init

nrf24l01_setpalevel(); //set power level

nrf24l01_setdatarate(); //set data rate

nrf24l01_setcrclength(); //set crc length

nrf24l01_writeregister(NRF24L01_REG_SETUP_RETR, NRF24L01_RETR); // set retries

nrf24l01_writeregister(NRF24L01_REG_DYNPD, 0); //disable dynamic payloads


nrf24l01_writeregister(NRF24L01_REG_RF_CH, NRF24L01_CH); //set RF channel

//payload size

#if NRF24L01_ENABLEDP0 == 1

nrf24l01_writeregister(NRF24L01_REG_RX_PW_P0, NRF24L01_PAYLOAD);

#endif

#if NRF24L01_ENABLEDP1 == 1

nrf24l01_writeregister(NRF24L01_REG_RX_PW_P1, NRF24L01_PAYLOAD);

#endif

#if NRF24L01_ENABLEDP2 == 1

nrf24l01_writeregister(NRF24L01_REG_RX_PW_P2, NRF24L01_PAYLOAD);

#endif

#if NRF24L01_ENABLEDP3 == 1

nrf24l01_writeregister(NRF24L01_REG_RX_PW_P3, NRF24L01_PAYLOAD);

#endif

#if NRF24L01_ENABLEDP4 == 1

nrf24l01_writeregister(NRF24L01_REG_RX_PW_P4, NRF24L01_PAYLOAD);

#endif

#if NRF24L01_ENABLEDP5 == 1

nrf24l01_writeregister(NRF24L01_REG_RX_PW_P5, NRF24L01_PAYLOAD);

#endif



Если я правильно понимаю, мне нужно выбрать одно из этих If


В заголовочном файле они определены

/enable / disable pipe

#define NRF24L01_ENABLEDP0 1 //pipe 0

#define NRF24L01_ENABLEDP1 1 //pipe 1

#define NRF24L01_ENABLEDP2 1 //pipe 2

#define NRF24L01_ENABLEDP3 1 //pipe 3

#define NRF24L01_ENABLEDP4 1 //pipe 4

#define NRF24L01_ENABLEDP5 1 //pipe 5



Или оставить всё как есть?