Автоматика и аппаратура связи Дистанционное и непосредственное управление исполнительными механизмами, сотовая, а также радиосвязь. |
25.11.2016, 00:09
|
#1341
|
Гражданин KAZUS.RU
Регистрация: 01.01.2007
Адрес: Таганрог
Сообщений: 571
Сказал спасибо: 26
Сказали Спасибо 213 раз(а) в 91 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Это библиотека для работы с модулем, как я понял. Попробую завтра подключить
__________________
То, что нас не убивает - делает нас сильнее
|
|
|
|
25.11.2016, 00:30
|
#1342
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Сообщение от sat_art
|
Да без проблем бы если бы не работал в атмел студии...
|
атмель студия embedded C понимает?
|
|
|
|
25.11.2016, 01:10
|
#1343
|
Почётный гражданин KAZUS.RU
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 7,982
Сказал спасибо: 0
Сказали Спасибо 4,941 раз(а) в 2,370 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Сообщение от Easyrider83
|
атмель студия
|
дружит с gcc
|
|
|
|
25.11.2016, 17:54
|
#1344
|
Вид на жительство
Регистрация: 27.11.2007
Сообщений: 429
Сказал спасибо: 19
Сказали Спасибо 39 раз(а) в 30 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Easyrider83,
Я тут переписываю с нуля себе под атмел и сравниваю с Вашей
Цитата:
|
if (RF_InitStruct-›ReadReg(RF_InitStruct-›CSN_GPIO, RF_InitStruct-›CSN_PIN, 0, &size, 0) & RF_TX_DS_IRQ_CLEAR)
Result = NRF24L01_DATA_SEND_ACK_RECEIVED_OK;
|
точно 0 должен быть?
Читается же статус. 0xff - наверное?
Хотя работать будет, просто следующим байтом конфиг должен прочитаться. Но CSN снимется и все.
Последний раз редактировалось sat_art; 25.11.2016 в 17:56.
|
|
|
|
25.11.2016, 18:23
|
#1345
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Мы передаем ноль в качестве указателя на буфер потому, что мы не собираемся читать данные в этот буфер. Функция выполнит чтение STATUS регистра и поскольку длинна буфера равна нулю, она не будет ничего читать больше, а просто поднимет CSN.
|
|
|
|
25.11.2016, 19:38
|
#1346
|
Вид на жительство
Регистрация: 27.11.2007
Сообщений: 429
Сказал спасибо: 19
Сказали Спасибо 39 раз(а) в 30 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Стоп, указатель на буфер - это второй ноль. А первый (красным я выделил) - это посылаемая комманда, или я ошибаюсь?
|
|
|
|
25.11.2016, 21:22
|
#1347
|
Вид на жительство
Регистрация: 27.11.2007
Сообщений: 429
Сказал спасибо: 19
Сказали Спасибо 39 раз(а) в 30 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Еще не понял немного функцию
Цитата:
|
NRF24L01_ErrorTypeDef RF_SendPayload (RF_InitTypeDef * RF_InitStruct, char * data, char size)
|
вторая
Цитата:
|
NRF24L01_ErrorTypeDef RF_SendPayloadACK (RF_InitTypeDef * RF_InitStruct, char * data, char size)
|
вроде все нормально.
А в первой надо посылать командой W_TX_PAYLOAD_NOACK, но перед этим в конфигурации устанавливать такую возможность в FEATURE бит EN_DYN_ACK.
А если как у Вас - то при неподтверждении приемником, установится бит MAX_RT а не TX_DS, а он не очищается. Будет проблема.
Ну или хотя бы заменить
Цитата:
|
RF_Send_Cmd(RF_InitStruct, STATUS_REG, RF_TX_DS_IRQ_CLEAR);
|
на
Цитата:
|
RF_Send_Cmd(RF_InitStruct, STATUS_REG, RF_TX_DS_IRQ_CLEAR|RF_MAX_RT_IRQ_CLEAR);
|
Хотя это не совсем правильно.
|
|
|
|
26.11.2016, 01:16
|
#1348
|
Вид на жительство
Регистрация: 27.11.2007
Сообщений: 429
Сказал спасибо: 19
Сказали Спасибо 39 раз(а) в 30 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Блин эти модули меня реально немного подзамахали.
Два модуля рядом.
Просто с одного на другой передаю подряд пакеты - один тупо ТХ другой RХ.
Без АСК передается нормально и на 1Мб и на 2 Мб
Только включаю АСК
На 2Мб нормально - до 1000 пакетов в секунду.
На 1 Мб жопа. 20-30 пакетов.
Конфиги одинаковые. На двух Мб то работает, что за черт? Кто сталкивался?
И еще что за бит 0 в RF_CONFIG - в даташите "Dont care", т.е. типа пофиг.
А в примерах с нордика -
Цитата:
|
SPI_RW_Reg(WRITE_REG + RF_SETUP, 0x0f); // TX_PWR:0dBm, Datarate:2Mbps, LNA:HCURR
|
|
|
|
|
27.11.2016, 23:56
|
#1349
|
Вид на жительство
Регистрация: 27.11.2007
Сообщений: 429
Сказал спасибо: 19
Сказали Спасибо 39 раз(а) в 30 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Ура. Неделя мучений не прошла даром.
Хоть я и не смог победить режим 1МБ и АСК (видать что то с чипом - китай дешевый), но зато вроде вылизал библиотеку.
В приложении два архива проект для атмель студии и просто два файла библиотеки.
Набросал подробный ридми.
Из особенностей:
Возможна работа в 3-х режимах.
Цитата:
|
1. С использованием прерывания микроконтроллера
2. Без использования прерывания микроконтроллера, но с использованием вывода IRQ чипа подключенного к порту микроконтроллера
3. Вообще без использования вывода IRQ
|
Цитата:
|
Возможность работы как с АСК так и без АСК.
|
Ну и по возможности насколько мог упростил возможность портирования.
При кажущейся сложности, вроде вылизал библиотеку - должна работать без костылей.
В общем интересно мнение общества.
Пы.Сы. Может кто ридми на англицкий переведет...
Последний раз редактировалось sat_art; 30.11.2016 в 08:45.
|
|
|
|
27.11.2016, 23:58
|
#1350
|
Вид на жительство
Регистрация: 27.11.2007
Сообщений: 429
Сказал спасибо: 19
Сказали Спасибо 39 раз(а) в 30 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
На очереди бутлодер на нрф-ке.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 03:25.
|
|