Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Автоматика и аппаратура связи Дистанционное и непосредственное управление исполнительными механизмами, сотовая, а также радиосвязь.

 
Опции темы
Непрочитано 04.03.2013, 17:59  
BolshoyK
Гражданин KAZUS.RU
 
Регистрация: 25.11.2009
Сообщений: 609
Сказал спасибо: 37
Сказали Спасибо 140 раз(а) в 72 сообщении(ях)
BolshoyK на пути к лучшему
По умолчанию Re: Кто-нибудь работал с RF модулями nRF2401A?

Easyrider83, Ну это логично. А функцию предусмотреть, специальную, все же не помешало бы.
Реклама:
BolshoyK вне форума  
Непрочитано 07.03.2013, 00:22  
CS_SkiF
Частый гость
 
Регистрация: 25.12.2010
Сообщений: 21
Сказал спасибо: 9
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
CS_SkiF на пути к лучшему
По умолчанию Re: Кто-нибудь работал с RF модулями nRF2401A?

Здравствуйте.
Пытаюсь разобраться с NRF24L01. Без библиотек и не на ардуине. Делаю так:
Код:
Установить 0 на CE
SPDR  = 0xA0; - команда W_TX_PAYLOAD
_delay_ms(1); 

Дальше 5 байт адреса 
SPDR = 0xE7;
_delay_ms(1);
SPDR = 0xE7;
_delay_ms(1);
SPDR = 0xE7;
_delay_ms(1);
SPDR = 0xE7;
_delay_ms(1);
SPDR = 0xE7;

_delay_ms(1);
SPDR = data; - байт данных
_delay_ms(1);

Установить 1 на SS	
_delay_ms(1);	
Установить 1 на CE
Настройка:
Код:
Init_Master_IntContr();	
write_NRF24L01(0x20,0x0F);//CONFIG
write_NRF24L01(0x21,0x03);//EN_AA
write_NRF24L01(0x22,0x03);//EN_EX_ADDR
write_NRF24L01(0x23,0x03);//SETUP_AW
write_NRF24L01(0x24,0x03);//SETUP_RETR
write_NRF24L01(0x25,0x03);//RF_CH
write_NRF24L01(0x26,0x07);//RF_SETUP
write_NRF24L01(0x31,0x01);//RX_PW_PO
В статусе получаю 0E.
Вроде отправил?
Что мне сделать чтобы получить байт приемником? Тему читал, но осилил только 10 страниц.
CS_SkiF вне форума  
Непрочитано 07.03.2013, 07:49  
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: Кто-нибудь работал с RF модулями nRF2401A?

Надо инициализировать почти все регистры, где-то в середине темы была полная инициализация. Мне тоже лень искать ссылку. В приемник и передатчик записываются абсолютно одинаковые значения, только в регистре конфига один включаем приемником, другой передатчиком. В статусе будет 2Е если пакет принял приемник, или 1Е если не принял
niXto вне форума  
Сказали "Спасибо" niXto
CS_SkiF (07.03.2013)
Непрочитано 07.03.2013, 17:05  
CS_SkiF
Частый гость
 
Регистрация: 25.12.2010
Сообщений: 21
Сказал спасибо: 9
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
CS_SkiF на пути к лучшему
По умолчанию Re: Кто-нибудь работал с RF модулями nRF2401A?

Нашел только это:
https://kazus.ru/forums/showpost.php...&postcount=383
и это
https://kazus.ru/forums/showpost.php...&postcount=278
В инициализацию добавил пару регистров:
Код:
write_NRF24L01(0x20,0x0E);//CONFIG
_delay_ms(1);
write_NRF24L01(0x21,0x00);//EN_AA
write_NRF24L01(0x22,0x01);//EN_RXADDR
write_NRF24L01(0x23,0x03);//SETUP_AW
write_NRF24L01(0x24,0x03);//SETUP_RETR
write_NRF24L01(0x25,0x03);//RF_CH
write_NRF24L01(0x26,0x07);//RF_SETUP
write_NRF24L01_pipe(0x2A);//RX_ADDR_P0 = E7E7E7E7E7
write_NRF24L01_pipe(0x30);//TX_ADDR_P0 = E7E7E7E7E7
write_NRF24L01(0x31,0x01);//RX_PW_PO
write_NRF24L01(0x3C,0x00);//DYNPD
write_NRF24L01(0x3D,0x00);//FEATURE
В итоге могу записать в ФИФО передатчика 3 пакета(5 байт адрес+1 байт данных). После первых двух статус 0E, после последнего 0F(FIFO и пуст и полон?). То есть Фифо заполняется. Потом ставлю СЕ=1, жду 1мс, СЕ=0. Читаю статус и там все равно 0F.
CS_SkiF вне форума  
Непрочитано 07.03.2013, 18:55  
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: Кто-нибудь работал с RF модулями nRF2401A?

Установи 1 на СЕ и сиди жди прерывания на ножке ИНТ
Если конечно генератор работает, нет косяков с кварцем
niXto вне форума  
Сказали "Спасибо" niXto
CS_SkiF (07.03.2013)
Непрочитано 07.03.2013, 19:39  
CS_SkiF
Частый гость
 
Регистрация: 25.12.2010
Сообщений: 21
Сказал спасибо: 9
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
CS_SkiF на пути к лучшему
По умолчанию Re: Кто-нибудь работал с RF модулями nRF2401A?

Такс. Спасибо. Отправить вроде получилось. В статусе 2Е при отключенном AUTO_ACK, значит пакет отправил. Теперь приемник. Вот такие настройки для ловли помех. Без CRC, 3 байта адрес.
Код:
write_NRF24L01(0x20,0x02);//CONFIG было 0x0F
_delay_ms(1);
write_NRF24L01(0x21,0x00);//EN_AA
write_NRF24L01(0x22,0x01);//EN_RXADDR
write_NRF24L01(0x23,0x01);//SETUP_AW
write_NRF24L01(0x24,0x03);//SETUP_RETR
write_NRF24L01(0x25,0x03);//RF_CH
write_NRF24L01(0x26,0x07);//RF_SETUP
write_NRF24L01_pipe(0x2A);//RX_ADDR_P0 = E7E7E7E7E7
write_NRF24L01_pipe(0x30);//TX_ADDR_P0 = E7E7E7E7E7
write_NRF24L01(0x31,0x01);//RX_PW_PO
write_NRF24L01(0x3C,0x00);//DYNPD
write_NRF24L01(0x3D,0x00);//FEATURE
write_NRF24L01(0x27,0xF0);
Мне чтобы приемник начал принимать что либо надо дернуть СЕ в 1. И пока CE=1 приемник будет ловить все подряд. Правильно? Не ловит. В статусе 0E.

Последний раз редактировалось CS_SkiF; 07.03.2013 в 19:51.
CS_SkiF вне форума  
Непрочитано 08.03.2013, 11:04  
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: Кто-нибудь работал с RF модулями nRF2401A?

Включай crc обязательно, иначе утонешь в мусоре. Настройки всех регистров полностью одинаковые для приемника и передатчика, только в Конфиге стоит/сброшен бит прием/передача. Настраиваешь приемник и поднимаешь СЕ, после чего передаешь передатчиком. Не забывай очищать командой flush tx буфер если он переполнен
niXto вне форума  
Непрочитано 08.03.2013, 14:09  
CS_SkiF
Частый гость
 
Регистрация: 25.12.2010
Сообщений: 21
Сказал спасибо: 9
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
CS_SkiF на пути к лучшему
По умолчанию Re: Кто-нибудь работал с RF модулями nRF2401A?

Ну помехи ловит вроде. Но только редко как то. Где то раз в несколько секунд. Это нормально?

Последний раз редактировалось CS_SkiF; 08.03.2013 в 15:16.
CS_SkiF вне форума  
Непрочитано 08.03.2013, 17:24  
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: Кто-нибудь работал с RF модулями nRF2401A?

С CRC - никогда, я даже не сделал проверку принятого пакета в своем серийном изделии - работает...
Без CRC вроде и не включал ни разу
niXto вне форума  
Непрочитано 08.03.2013, 18:21  
CS_SkiF
Частый гость
 
Регистрация: 25.12.2010
Сообщений: 21
Сказал спасибо: 9
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
CS_SkiF на пути к лучшему
По умолчанию Re: Кто-нибудь работал с RF модулями nRF2401A?

Кстати еще такой вопрос.
Передатчиком(микроконтроллером) при payload=1байт и адресе=5 байт я оправляю 6-байтовый пакет, сначала 5 байт адреса и потом 1 байт данных. Правильно?
На другом конце я должен принять тоже 6 байт или адрес сам отбрасывается и к МК приходит только 1 бай данных?
CS_SkiF вне форума  
Сказали "Спасибо" CS_SkiF
georgiy_12 (08.12.2013)
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кто работал с драйвером DM132? sdsrem Микроконтроллеры, АЦП, память и т.д 0 06.07.2010 21:37
Кто нибудь имеет описание, как обращаться к KEELOQовскому регистру в PIC12F635/PIC16F636? Make_Pic Микроконтроллеры, АЦП, память и т.д 1 07.05.2010 12:53
Кто нибудь работал с MUST II System ? trilobit Производственное оборудование 0 28.04.2010 11:51
Кто нибудь имел дело со шрифтами? Djakovskij Микроконтроллеры, АЦП, память и т.д 8 18.02.2010 20:35
Кто работал с Ad7714? ALEKSEY188 Микроконтроллеры, АЦП, память и т.д 18 11.02.2010 03:54


Часовой пояс GMT +4, время: 00:54.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot