AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR... |
26.08.2015, 19:54
|
#81
|
Гражданин KAZUS.RU
Регистрация: 25.11.2009
Сообщений: 609
Сказал спасибо: 37
Сказали Спасибо 140 раз(а) в 72 сообщении(ях)
|
Re: Mini NRF24L01+законектить с атмегой 16. Есть вопросы по приёму...
Сообщение от miwutka
|
BolshoyK, ща качну почитаю, и буду пробовать адаптировать.....
Взглянул - вроде читабельна, тем более с готовым проектом легче читать как там процедуры применять.... Это вроде изирайдера библа. Я из нее отключю КОМ-порт и подключю ЖК свой. Буду на нем мониторить всё.....
|
ну дело хозяйское, только вопросы почему не работает - не ко мне тогда
пример на то и пример, чтобы запускать как есть, без глобальных изменений.
|
|
|
|
26.08.2015, 19:59
|
#82
|
Почётный гражданин KAZUS.RU
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: Mini NRF24L01+законектить с атмегой 16. Есть вопросы по приёму...
Сообщение от BolshoyK
|
копирует кусок памяти с одного места в другое. стандартная штука. список используемых библиотек в начале каждого файла программы есть.
|
Теперь понял. Выше написали где...
Могли бы вы объяснить в кратце кусок кода:
функция check_buffer я так понял проверяет буффер КОМ-порта и если не пустой то шлет данные?
PHP код:
|
memcpy(&RF_InitStruct.RF_TX_Adress,&ClockAddress,5); memcpy(&RF_InitStruct.RF_RX_Adress_Pipe0,&ClockAddress,5); RF_InitStruct.RF_Pipe_Auto_Ack=RF_Pipe_All_Ack_Dis able;//подтверждение передачи я так понял тут отключено для всех pipe? А для чего? Просто? Switch_RF_TX();// просто переводим в режим TX и передача данных пошла? writeret = RF_SendPayload(arg,16);//сюда пишет количество повторных отправок? printf("send_return_code=%d\n\r", writeret); if (writeret == 255) {print_debug(); RF_repair_error(); print_debug();}//если отправок 255 то сбой передачи типа7 memcpy(&RF_InitStruct.RF_TX_Adress,&SensorAddress,5); memcpy(&RF_InitStruct.RF_RX_Adress_Pipe0,&SensorAddress,5); RF_InitStruct.RF_Pipe_Auto_Ack=RF_Pipe0_Ack_Enable ;//.....? Switch_RF_RX();// режим приемкника....
|
в библиотеке немного не понял эту строку
pipe = RF_Receive_Data(buffer,16);
Оно я так понял принимает данные в буфер, а переменной pipe что будет записано? В библиотеке не понял что там и как.....
Последний раз редактировалось miwutka; 26.08.2015 в 20:04.
|
|
|
|
26.08.2015, 20:00
|
#83
|
Почётный гражданин KAZUS.RU
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: Mini NRF24L01+законектить с атмегой 16. Есть вопросы по приёму...
Сообщение от BolshoyK
|
только вопросы почему не работает
|
так как я меняю под себя то конечно таких вопросов не будет )))
|
|
|
|
26.08.2015, 20:28
|
#84
|
Гражданин KAZUS.RU
Регистрация: 25.11.2009
Сообщений: 609
Сказал спасибо: 37
Сказали Спасибо 140 раз(а) в 72 сообщении(ях)
|
Re: Mini NRF24L01+законектить с атмегой 16. Есть вопросы по приёму...
miwutka, pipe - номер пайпа по которому приняты данные. для понимания надо заглянуть в мануал по чипу. там есть картинка про работу 1 ко многим, несколько кружков вокруг одного центрального.
Отключение подтверждения - так надо. синхронизация часов не требует подтверждения доставки, т.к. приемников может быть много. а вот для приема от датчиков, подтверждение нужно. по этому оно потом включается.
Последний раз редактировалось BolshoyK; 26.08.2015 в 20:36.
|
|
|
|
26.08.2015, 20:42
|
#85
|
Почётный гражданин KAZUS.RU
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: Mini NRF24L01+законектить с атмегой 16. Есть вопросы по приёму...
Мануал есть у меня, с русским переводом в регистрах....
Спасибо. Теперь понял. На днях сяду под себя ее переделывать. Вроде так всё понятно пока... ))
|
|
|
|
30.12.2015, 13:38
|
#86
|
Почётный гражданин KAZUS.RU
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: Mini NRF24L01+законектить с атмегой 16. Есть вопросы по приёму...
Добрался на праздниках до своей платы. Нашел готовый проект, убрал от туда УСАРТ, запустил и оно начало работать. Там чисто светодиоды по приему и передаче работают и счетчик передается. Хочу туда сейчас подключить ЖК и посмотреть счетчик передается ли... Если буду задавать вопросы не ругайтесь сильно )))
|
|
|
|
03.01.2016, 20:45
|
#87
|
Частый гость
Регистрация: 24.11.2006
Сообщений: 27
Сказал спасибо: 0
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
|
Re: Mini NRF24L01+законектить с атмегой 16. Есть вопросы по приёму...
До недавнего времени никогда не работал с трансиверами. Поступил небольшой заказ. Разработать устройство на трансиверах с этим чипом. Заказчик заказал с Китая трансиверы со внешними антеннами. Ждать нужно было недели две-три. Чтобы время не тратить, купил в местном магазине трансивер со внутренней антенной. Пока ехали заказанные модули, изучал свой модуль. Впоследствии выяснилось, что модуль без антенны был на чипе si24l01. Модуль с антенной на чипе вроде как, nrf24l01. Вроде как - есть подозрение, что чипы поддельные.
Пара моментов, которые вылезли в процессе изучения трансиверов:
1) Если в модуле включены прерывания, опрос регистров только после установки IRQ в 0.
Либо после задержки. Время задержки зависит от скорости передачи, размера пакета, максимального кол-ва попыток передачи, плюс небольшой запас, для гарантии.
Модуль на si24l01 позволял читать регистры до установки IRQ в 0, модуль на nrf24l01 - нет.
2) Судя по всему у модулей есть собственные внутренние строковые команды. Ситуация: застрял на несколько дней в программе. Не идет и все тут. До определенного момента работает. После - ни в какую. Причина - дикая случайность. Я сначала написал вариант программы, в котором отправлял числа, по ним соответствующие действия. Потом решил усложнить программу, отправлять текст. К примеру, "CH1", "CH2", "CH3". И была у меня тестовая строковая команда "TEST". Оказывается, это слово - внутренняя команда чипов. Судя по всему, заводская, для проверки работоспособности чипов. После приема этой строковой команды чип nrf24l01 зависает на несколько секунд.
|
|
|
Сказали "Спасибо" Insector
|
|
|
03.06.2016, 23:30
|
#88
|
Почётный гражданин KAZUS.RU
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: Mini NRF24L01+законектить с атмегой 16. Есть вопросы по приёму...
Вообщем хочу поделится наблюдениями с начинающими. Подключал miniNRF24L01+ - с ней не работало ни в какую. Подключил обычные NRF24L01+ - всё заработало, но долго устранял дребезг питания. Проверял в плате без пайки - дребезг сильный и чип виснет и всё.С miniNRF буду разбираться уже после изготовления платы.....
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 22:40.
|
|