Автоматика и аппаратура связи Дистанционное и непосредственное управление исполнительными механизмами, сотовая, а также радиосвязь. |
21.04.2013, 10:03
|
|
Частый гость
Регистрация: 17.06.2010
Сообщений: 40
Сказал спасибо: 28
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Так,раскурил даташит ещё раз,особенно регистр STATUS. Я правильно понимаю,что для того,чтобы узнать,прошла передача или нет,нужно прочитать в прерывании STATUS? Но для этого нужно выставить прерывание по превышению количества попыток. К величайшему сожалению,английским не владею, а переводчик перевел криво. Так если буфер передатчика переполнен,то что будет записано в бите TX_FULL? А если количество попыток превышено,то что будет записано в бите MAX_RT? И проверьте,пожалуйста,инициализацию)) Заранее спасибо)))
Код:
|
mirf_config_register(RF_CH,mirf_CH);
// Set length of incoming payload
mirf_config_register(RX_PW_P0, mirf_PAYLOAD);//Объем буфера 10 байт
mirf_config_register(CONFIG,((1‹‹MASK_RX_DR)|(1‹‹EN_CRC)|(1‹‹CRCO))&~(1‹‹MASK_TX_DS)&~(1‹‹MASK_MAX_RT));//Включить прерывание по передаче пакета,по превышению кол-ва попыток передачи,включить CRC
mirf_config_register(RF_SETUP,(1‹‹1)|(1‹‹2));//Мощность 0dBm
mirf_config_register(SETUP_RETR,(((1‹‹0)|(1‹‹1))&~(1‹‹5)&~(1‹‹6)&~(1‹‹7)&~(1‹‹4)&~(1‹‹3)&~(1‹‹2)));//3 попытки передачи,интервал между попытками 250 микросекунд
mirf_set_TADDR(TX_ADDRESS);
mirf_set_RADDR(RX_ADDRESS); |
Последний раз редактировалось Pika4u56; 21.04.2013 в 10:21.
|
|
|
|
21.04.2013, 11:02
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
При ‹наличии события› пишется 1, иначе - 0. То есть при переполнении и при превышении будут записаны 1. Читаем статус, и автоматически после чтения статуса чип сбрасывает флаги - то есть программно их обнулять не надо, но и несколько раз подряд после каждой передачи/приема читать статус тоже не получится - при последующих чтениях флаги будут сброшены
Для 10 байт и скорости 256к ретрансмит должен быть минимум 1 мс
|
|
|
Эти 2 пользователя(ей) сказали Спасибо niXto за это сообщение:
|
|
|
21.04.2013, 11:20
|
|
Частый гость
Регистрация: 17.06.2010
Сообщений: 40
Сказал спасибо: 28
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Спасибо большое!!!)))))Программу подправил, теперь если передача не удалась или байта нет больше 5 мс,то робот не ждет байта и идет дальше)))Выношу в другой конец дома-передача обрывается. Подношу ближе к приемнику-передача возобновляется))) Спасибо за помощь)
|
|
|
|
21.04.2013, 18:08
|
|
Гражданин KAZUS.RU
Регистрация: 25.11.2009
Сообщений: 609
Сказал спасибо: 37
Сказали Спасибо 140 раз(а) в 72 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Подскажите, а как наиболее эффективно просканировать все каналы и найти занятый, вывести адрес передатчика ?
Для чего это надо... ну например попробовать подключиться к передатчику для мышки. Без этого инструментария даже не представляю как подступиться к вопросу.
|
|
|
|
21.04.2013, 19:13
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
На нрф24л01 - почти никак, у нее есть только один бит, который выставляется в 1 если чип видит хоть какую-то активность в канале. На Тексасовских СС1101/2500 есть полноценный 8-битный RSSI который с погрешностью в несколько дБ показывает мощность сигнала в канале
|
|
|
|
22.04.2013, 16:31
|
|
Гражданин KAZUS.RU
Регистрация: 25.11.2009
Сообщений: 609
Сказал спасибо: 37
Сказали Спасибо 140 раз(а) в 72 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
niXto, Ладно с каналом. Мы не гордые - потратим время на поиск вручную, перебором. А как быть с отловом данных, если адрес передатчика неизвестен ?
|
|
|
|
22.04.2013, 20:10
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Никак. Это полностью готовое устройство, "черный ящик"... Может только выставить единицу в бит, если непосредственно перед переходом в режим чтения регистров канал был занят, но это похоже на гадание. Я в свое время эту фишку так и не раскурил
Переходи на Тексас, у них полностью открытая платформа
Зачем это надо, слушать канал?
|
|
|
|
25.04.2013, 18:56
|
|
Частый гость
Регистрация: 17.06.2010
Сообщений: 40
Сказал спасибо: 28
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Итак,поиспытывал я робота в связке с ноутбуком. Все,вроде бы,хорошо, за исключением одного-дальности. Метров 7-9 от силы и дальше тю-тю(((( Есть какое-то решение?
|
|
|
|
25.04.2013, 19:00
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
__________________
Осторожно , злой кот
Последний раз редактировалось dosikus; 25.04.2013 в 19:03.
|
|
|
|
25.04.2013, 19:53
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
На скорости 256 работает метров на 50 или 2 стены с включенным вайфаем
Если антенна на плате, перережь ее поближе к чипу, и припаяй проволочку 0,5 мм длиной ровно 30 мм. Или припаяй 40 мм, откусывай по кусочку длиной пару мм и смотри расстояние
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 07:48.
|
|