Автоматика и аппаратура связи Дистанционное и непосредственное управление исполнительными механизмами, сотовая, а также радиосвязь. |
17.04.2013, 21:04
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Это нрф24л01
Скачай даташит на нрф24л01р - там будет дополнительная скорость
Сейчас почти везде стоят л01р - у них сразу после цифр 01 на маркировке стоит плюсик
Они совместимы, только у л01 не надо пытаться включить 256к
|
|
|
|
17.04.2013, 21:58
|
|
Частый гость
Регистрация: 17.06.2010
Сообщений: 40
Сказал спасибо: 28
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Спасибо))завтра допишу окончательную инициализацию и буду пробовать в железе))
|
|
|
|
18.04.2013, 19:58
|
|
Частый гость
Регистрация: 17.06.2010
Сообщений: 40
Сказал спасибо: 28
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Дописал инициализацию,проверьте,пожалуйста)) Как я понял, в библиотеке Tinkerer прерывание ставиться по завершению передачи?
Код:
|
unsigned char TX_ADDRESS[5]={0xE7,0xD2,0xC3,0xAD,0xFE};
unsigned char RX_ADDRESS[5]={0xE7,0x2A,0xB4,0xCA,0xBA};
void mirf_config()
{
// Set RF channel
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‹‹MASK_MAX_RT)|(1‹‹EN_CRC)|(1‹‹CRCO));//Включить прерывание по передаче пакета,включить CRC
mirf_config_register(CONFIG,~(1‹‹MASK_TX_DS));//Включить прерывание по передаче пакета,включить CRC
mirf_config_register(RF_SETUP,(1‹‹1)|(1‹‹2));//Мощность 0dBm
mirf_set_TADDR(TX_ADDRESS);
mirf_set_RADDR(RX_ADDRESS);
// Start receiver
PTX = 0; // Start in receiving mode
RX_POWERUP; // Power up in receiving mode
mirf_CE_hi; // Listening for pakets
} |
|
|
|
|
18.04.2013, 21:39
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Оба адреса должны быть одинаковые, иначе передатчик никогда не получит подтверждение. Собственно, и приемник никогда не получит пакет, если ожидает пакет с другим адресом (не равным адресу передатчика)
|
|
|
|
19.04.2013, 17:23
|
|
Частый гость
Регистрация: 17.06.2010
Сообщений: 40
Сказал спасибо: 28
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Проверил в железе-все работает)))Спасибо огромное за помощь! Вот только проблема-иногда, когда перенесу робота в другой конец комнаты резко, то отваливается коннект. Лечиться перезагрузкой робота. В чем проблема? Провода от модуля к меге длиной порядка 15 см. Это может быть причиной?
|
|
|
|
19.04.2013, 18:52
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Переполнение буфера передатчика, при неудачной отправке пакет остается в буфере, поэтому 3 таких неудачных отправки - и все, приехали. Лечится подачей команды Flush TX после каждой неудачной передачи
|
|
|
|
19.04.2013, 19:28
|
|
Частый гость
Регистрация: 17.06.2010
Сообщений: 40
Сказал спасибо: 28
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Хм,а при инициализации,приведенной мной,приемник подтверждает,что он скушал пакет? И как узнать,что передача тю-тю?)))Спасибо)
|
|
|
|
19.04.2013, 19:42
|
|
Частый гость
Регистрация: 17.06.2010
Сообщений: 40
Сказал спасибо: 28
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Хотя проблема,оказывается,не в этом. После передачи байта мега на роботе переключается на прием. А если байт не поступил? То мега там так и остается. А мега на компьютере после нескольких попыток сама начинает сидеть на приеме. Итог- 2 меги слушают друг друга и ни одна не шелохнется даже байтом. Спасибо за помощь)
|
|
|
|
20.04.2013, 07:32
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Сообщение от Pika4u56
|
Хм,а при инициализации,приведенной мной,приемник подтверждает,что он скушал пакет? И как узнать,что передача тю-тю?)))
|
Он подтверждает по умолчанию, чтобы не было подтверждения, его запрос вначале нужно ОТключить в настройках передатчика. Узнать - по флагам, которые к тому же могут генерировать прерывание. При успешной передаче выставляется один флаг, при неуспешной - другой
|
|
|
|
20.04.2013, 14:36
|
|
Частый гость
Регистрация: 17.06.2010
Сообщений: 40
Сказал спасибо: 28
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Отлично)) значит,пойду перечитывать даташит)
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 06:11.
|
|