Автоматика и аппаратура связи Дистанционное и непосредственное управление исполнительными механизмами, сотовая, а также радиосвязь. |
04.11.2011, 12:34
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Ну на первый взгляд все верно. Проверяйте передатчик так - контрольную сумму выключаем, режим RX, 3 байта адреса. Должна ловить всякий мусор с эфира с такой скоростью, что читать не успеете. При 4 байтах примерно 1 пакет в минуту приходит. При 5 байтах за сутки ни одного ложного пакета даже без CRC.
Странно, у меня один проект на этих чипах был сделан еще пол года назад и уже давно сдан клиенту. Там все работает прекрасно. Сейчас смотрел свои коды к нему, как бы все верно. Сейчас похожие на ваши испытания провожу - данные на СОМ порт должны идти. А, времени нет, надо ехать в один городишко по работе. Все, на следующей неделе продолжу.
ЗЫ А структура полезная. Очень легко с ней работать.
|
|
|
Сказали "Спасибо" Easyrider83
|
|
|
11.11.2011, 18:02
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.05.2003
Адрес: Москва
Сообщений: 2,530
Сказал спасибо: 737
Сказали Спасибо 1,927 раз(а) в 799 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Что-то я совсем иссяк ![Обижен](images/smilies/icon_beee.gif)
Выход прерывания постоянно в "1". Включение/отключение прерываний не помогает.
Сообщение от Easyrider83
|
контрольную сумму выключаем, режим RX, 3 байта адреса
|
Ничего не ловит.
Вот конфиг
Код:
|
SPI_WR_REG(WRITE_REG + CONFIG, 0b00110011); // PWR_UP bit CRC off
delay_ms(5);
SPI_WR_BUF(WRITE_REG + TX_ADDR, TX_ADDRESS, 3); // Writes TX_Address to nRF24L01
SPI_WR_BUF(WRITE_REG + RX_ADDR_P0, TX_ADDRESS, 3); // RX_Addr0 same as TX_Adr for Auto.Ack
SPI_WR_REG(WRITE_REG + EN_AA, 0x00); // Disable Auto.Ack:Pipe0
SPI_WR_REG(WRITE_REG + SETUP_AW, 0x01); // RX/TX Address field width 3 bytes
SPI_WR_REG(WRITE_REG + EN_RXADDR, 0b00000001); // Enable Pipe0
SPI_WR_REG(WRITE_REG + SETUP_RETR, 0x1a); // 500us + 86us, 10 retrans...
SPI_WR_REG(WRITE_REG + RF_CH, 40); // Select RF channel 40
SPI_WR_REG(WRITE_REG + RF_SETUP, 0x07); // TX_PWR:0dBm, Datarate:1Mbps, LNA:HCURR |
Тупо раз в 1 сек сбрасываю СЕ, читаю статус. Изредка выдает
Status - 4e FIFO status - 11
Читаю RX payload - там одни 0
__________________
Опыт - это школа, в которой человек узнает, каким дураком он был раньше.
|
|
|
|
11.11.2011, 18:16
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
DK, выключите retransmit. Модули с ебая с ним тоже зависают.
|
|
|
|
11.11.2011, 19:47
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.05.2003
Адрес: Москва
Сообщений: 2,530
Сказал спасибо: 737
Сказали Спасибо 1,927 раз(а) в 799 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Отключил. Как говорится, монопенисуально...
Не похоже, чтоб вис - регистры читаются.
__________________
Опыт - это школа, в которой человек узнает, каким дураком он был раньше.
|
|
|
|
11.11.2011, 19:50
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
DK, а чего у вас за модули? При такой конфигурации уже должны засыпать вас мусором из эфира.
|
|
|
|
11.11.2011, 20:03
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.05.2003
Адрес: Москва
Сообщений: 2,530
Сказал спасибо: 737
Сказали Спасибо 1,927 раз(а) в 799 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
С ебая. Ссылку не могу дать - инет мой целый день с инетом не дружит ![Обижен](images/smilies/icon_beee.gif) Просто не грузятся большая часть сайтов.
__________________
Опыт - это школа, в которой человек узнает, каким дураком он был раньше.
|
|
|
|
11.11.2011, 20:06
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.05.2003
Адрес: Москва
Сообщений: 2,530
Сказал спасибо: 737
Сказали Спасибо 1,927 раз(а) в 799 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
вот еще тупой вопрос: Прерывание на выводе IRQ выдается 0 или 1? Просто у меня постоянно 1, стоит только питание подать.
__________________
Опыт - это школа, в которой человек узнает, каким дураком он был раньше.
|
|
|
|
11.11.2011, 20:16
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Так и должно быть. Когда IRQ падает - прерывание сработало.
Оба модуля ведут себя одинаково? Я думаю, что проблема в них.
На самом деле, ногу IRQ вообще подключать не обязательно, если не используете всякие спящие режимы. Можно постоянно опрашивать статус на предмет новых пакетов.
Не уверен, но теоретически ногу СЕ тоже можно тупо прилепить к питанию.
|
|
|
|
11.11.2011, 20:28
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.05.2003
Адрес: Москва
Сообщений: 2,530
Сказал спасибо: 737
Сказали Спасибо 1,927 раз(а) в 799 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Сообщение от Easyrider83
|
ногу СЕ тоже можно тупо прилепить к питанию
|
Хм... Я так понял, что трансивер работает только после поднятия СЕ. А при низком СЕ работает цифровая часть.
Хотя, ща проверим...
__________________
Опыт - это школа, в которой человек узнает, каким дураком он был раньше.
|
|
|
|
11.11.2011, 21:00
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Адреса RX и TX какие? Е7 Е7 Е7 должно помочь. Там есть своя особенность - для корректного детектирования Конец преамбулы / Начало адреса, первые 3...4 бита адреса должны быть одного уровня
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 20:33.
|
|