Автоматика и аппаратура связи Дистанционное и непосредственное управление исполнительными механизмами, сотовая, а также радиосвязь. |
28.12.2016, 16:19
|
|
Прописка
Регистрация: 06.05.2008
Адрес: Пятигорск
Сообщений: 222
Сказал спасибо: 11
Сказали Спасибо 17 раз(а) в 13 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Сообщение от BolshoyK
|
wlad773, у меня тоже работает, с некоторыми проблемами, интересовал упор на антенну. имелся в виду вариант с усилителем, или просто антенка с SMA разъемом ?
|
Вариант с усилителем и SMA антенной и без усилителя и нарисованной антенной.
|
|
|
|
28.12.2016, 16:23
|
|
Прописка
Регистрация: 06.05.2008
Адрес: Пятигорск
Сообщений: 222
Сказал спасибо: 11
Сказали Спасибо 17 раз(а) в 13 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Ни чего не знаю про инверсию бита. АСК это автоматическое подтверждение приема данных приемником. В приемнике его надо активировать по конкретному каналу, а в передатчике установить правильное время ожидания ответа. Вот вроде и все.
|
|
|
|
08.01.2017, 14:12
|
|
Прохожий
Регистрация: 08.01.2017
Сообщений: 1
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Доброе время. Подскажите, можно ли пару модулей переделать таким образом, чтобы выйти за пределы стандартной WiFi радио частоты? Чтобы стандартными глушилками wifi нельзя было заглушить приёмник и передатчик?
|
|
|
|
08.01.2017, 19:02
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.03.2010
Сообщений: 2,897
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Сообщение от morfius
|
Доброе время. Подскажите, можно ли пару модулей переделать таким образом, чтобы выйти за пределы стандартной WiFi радио частоты? Чтобы стандартными глушилками wifi нельзя было заглушить приёмник и передатчик?
|
Нет, но существуют трансиверы, работающие на других частотах
Вот, например, довольно древний http://semiconductorstore.com/Pages/...5_brochure.pdf
|
|
|
|
09.01.2017, 09:38
|
|
Прописка
Регистрация: 06.05.2008
Адрес: Пятигорск
Сообщений: 222
Сказал спасибо: 11
Сказали Спасибо 17 раз(а) в 13 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
можно попробовать использовать каналы от 80- до 128. Они выходят за полосу вай-вай, но выйдут ли за полосу глушилки?
|
|
|
|
17.01.2017, 17:18
|
|
Вид на жительство
Регистрация: 02.11.2008
Сообщений: 319
Сказал спасибо: 17
Сказали Спасибо 11 раз(а) в 11 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Добрый день.
Использую одностороннюю передачу между двумя nrf24l01+ столкнулся с проблемой, когда на на приемнике приходяит не новые данные от передатчика, а предыдущие (дубликат). На передатчике, если не получил подтверждение доставки,то очищаю буфер передачи, т.о. "косячит" приемник.
Смоделировать это не получается, но повторяется все чаще и чаще. Как это победить?
Передаю один байт с подтверждением, конфигурация приемника:
PHP код:
|
mirf_write_register(EN_RXADDR, (1 ‹‹ ERX_P0) | (1 ‹‹ ERX_P1)); // включение каналов 0 и 1
mirf_write_register(RF_CH, 100); //set RF channel
// настраиваем отправку данных произвольной длинны с автоподтверждением
mirf_write_register(FEATURE,(1 ‹‹ EN_DPL) | (1‹‹EN_ACK_PAY) | (1‹‹EN_ACK_PAY));
mirf_write_register(DYNPD, (1 ‹‹ DPL_P0)); // включение произвольной длины для канала 0
mirf_write_register(EN_AA,(1‹‹ENAA_P0)); // включение автоподтверждения только по каналу 0
mirf_write_register(CONFIG, mirf_CONFIG|((1‹‹PWR_UP)|(1‹‹PRIM_RX))); // уходим на прием
|
Принимаю так:
PHP код:
|
if (mirf_get_status()&(1‹‹RX_DR)) {
// данные есть от NRF, читаем их
char rx_len=0;
rx_len=radio_read_rx_payload_width();
if (rx_len›1){
// в очереди кривой пакет, сбрасываем его
mirf_send_cmd(FLUSH_RX); // очищаем буфер на прием
}else{
mirf_read_buf(cmd_buf,rx_len); // читаем данные в массив
// обрабатываю полученые данные из массива cmd_buf
}}
// Возвращает размер данных в начале FIFO очереди приёмника
uint8_t radio_read_rx_payload_width() {
mirf_CSN_lo;
spi_writeread(R_RX_PL_WID);
uint8_t answ = spi_writeread(NOP);
mirf_CSN_hi;
return answ;
}
// отправляем комманду в NRF
void mirf_send_cmd(uint8_t reg)
{
mirf_CSN_lo;
spi_writeread(reg);
mirf_CSN_hi;
}
// читает разу строку указанной длинны из NRF (испольуется для динамического payload)
void mirf_read_buf(uint8_t *data, uint8_t lenght)
{
//read rx register
mirf_CSN_lo;
spi_writeread( R_RX_PAYLOAD );
for (uint8_t i = 0; i ‹ lenght; i++)
data[i] = spi_writeread(NOP);
mirf_CSN_hi;
//reset register
mirf_write_register(STATUS,(1‹‹RX_DR));
}
|
|
|
|
|
17.01.2017, 18:05
|
|
Вид на жительство
Регистрация: 27.11.2007
Сообщений: 429
Сказал спасибо: 19
Сказали Спасибо 39 раз(а) в 30 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Конфиг передатчика бы увидеть.
Ретрансмит каунт в 0 должен быть. Если не требуется повтора передачи.
SETUP_RETR = 0 ?
|
|
|
|
17.01.2017, 18:08
|
|
Вид на жительство
Регистрация: 27.11.2007
Сообщений: 429
Сказал спасибо: 19
Сказали Спасибо 39 раз(а) в 30 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Сообщение от TechMike
|
PHP код:
|
mirf_write_register(FEATURE,(1‹‹EN_DPL)|(1‹‹EN_ACK_PAY)|(1‹‹EN_ACK_PAY));
|
|
EN_ACK_PAY - лишнее, если с приемника не передаете ничего с подтверждением.
|
|
|
|
17.01.2017, 18:13
|
|
Вид на жительство
Регистрация: 02.11.2008
Сообщений: 319
Сказал спасибо: 17
Сказали Спасибо 11 раз(а) в 11 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Сообщение от sat_art
|
EN_ACK_PAY - лишнее, если с приемника не передаете ничего с подтверждением.
|
Приемник и передатчик настроены одинаково, в силу унификации библиотеки NRF. Подтверждение нужно, пусть будет для правильности организации канала данных.
|
|
|
|
17.01.2017, 18:15
|
|
Вид на жительство
Регистрация: 02.11.2008
Сообщений: 319
Сказал спасибо: 17
Сказали Спасибо 11 раз(а) в 11 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Сообщение от sat_art
|
Ретрансмит каунт в 0 должен быть. Если не требуется повтора передачи.
SETUP_RETR = 0 ?
|
Это не трогал, т.е. стоит по умолчания в 3 попытки.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 17:06.
|
|