Приеду домой проверю.CraCk писал(а): Но проблема осталась, трансмиттер перестает передавать после второго ресета ресивера.
golowa70 писал(а):Очень странный глюк, ресет на приемнике вешает наглухо передатчик
Вот поэтому я и отказался от виснущих nRF24L01, RFM73, постоянно выгорающих nRF24L01+PA+LNA, и всяких подобных китайских железяк на STM с кривыми прошивками.CraCk писал(а):Во время работы если ресетнуть приемник второй раз. После первого ресета соединение восстанавливается. Тогда невозможно восстановить связь.
Здесь проблема скорее с библиотекой, потому как при проводном соединении такой же глюк. Нужно разбираться, описание только на английском, поэтому могу что-то недопонять)))Boroda писал(а):Вот поэтому я и отказался от виснущих nRF24L01, RFM73, постоянно выгорающих nRF24L01+PA+LNA, и всяких подобных китайских железяк на STM с кривыми прошивками
Проверил так работает хорошо. Ресетил приемник две минуты. Всегда связь восстанавливалась.golowa70 писал(а):Попробуйте вставить блок приемника после блока передатчика ,можно без настроек, просто чтобы цикл удлинить.
Может сама библиотека PJON рассчитана на то что в коде программы должен присуствовать приемник и передатчик. Все таки это имитация полноценной двусторонней связи.golowa70 писал(а):Похоже что-то с таймингами не айс, будем разбираться.
Пока что проблем с модулем не замечал при тестирование PJON. Как работает с проводами так и по радио. За 3$ хорошего по дальности ничего не нашел. А заказывать на слепо, без каких нибудь обзоров, уже устал. целый пакет насобирал nRF, esp, fs1000a, радиобрелков половина из них убитые. Наверное и я рукожопый, и так их жгу.Boroda писал(а):и всяких подобных китайских железяк на STM с кривыми прошивками
Как по мне, то здесь имеет место быть очень хитрый глюк, не поддающийся логическому обьяснению. Передача данных прекращается исключительно после ресета на стороне приемника, не потеря связи, не ошибка в данных, а именно ресет. Причём если ресетнуть при отключеном TX на приемнике, то передатчик продолжает работать нормально, только без подтверждения.CraCk писал(а):Может сама библиотека PJON рассчитана на то что в коде программы должен присуствовать приемник и передатчик. Все таки это имитация полноценной двусторонней связи
Код: Выделить всё
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.println("I will now freeze you!");
};
Код: Выделить всё
void setup() {
pinMode(13, OUTPUT);
digitalWrite(13, LOW); // Initialize LED 13 to be off
Serial.begin(9600);
};
void loop() {
digitalWrite(13, HIGH); // Initialize LED 13 to be off
delay(10);
digitalWrite(13, LOW); // Initialize LED 13 to be off
delay(30);
};
Ооо, а вот и автор)))gioblu писал(а):Привет, ребята, меня зовут Джованни, и я создатель PJON. Я прочитал ваше обсуждение через Google Translate, и благодаря вашим тестам действительно обнаружил неприятный баг в Arduino Toolchain
А вот слона то я и не заметил........gioblu писал(а):В общем, не используя библиотеку PJON, я получил те же результаты, что описываете вы: в этом коде ресивер получает функцию begin() и затем циклично мигает, если же я перезагружаю:
- Часто ресивер зависает с включенным индикатором (LED ON) - кажется, это происходит перед установкой (setup)
- Часто ресивер зависает с выключенным индикатором (LED OFF) - а это, кажется, происходит сразу после установки (setup)
- Я заметил, что для того, чтобы ресивер снова замигал, мне приходится одновременно перезагрузить и ресивер, и трансмиттер
Я проверил на двух UNO, никакого зависания не было,после перезагрузки всё продолжает работать.gioblu писал(а):В общем, не используя библиотеку PJON, я получил те же результаты, что описываете вы:
Странно, я подключил логический анализатор saleae logic к RX TX , и вижу что после перезагрузки приемника именно передатчик перестает работать.gioblu писал(а):Осциллограф показывает, что трансмиттер передает данные - поэтому, судя по всему, он не зависает
Не, проблема не в IDE, проблема в библиотеке.CraCk писал(а):Не компилируется
Так и должно быть, байт имеет размер от 0 до 255.CraCk писал(а):Еще заметил проблему. Если на один из входов трансмиттера поставить счетчик, и не ограничить счет счетчика до 255. То при достижение значение 255 происходит сброс счета до 0 и начинает счет с начала.
Лучше использовать один блок передачи и задавать ID приёмника перед передачей данных..CraCk писал(а):Получается что реализацию отправки сделать легко. Создаем несколько блоков трансмитер и на каждом задаем адрес приемника.
Можно для приемника создать переменные для каждого передающего устройства и мониторинг адрес отправителя. В зависимости от кого пришли данные в такую переменную и пишем.CraCk писал(а):А от с приемом проблема, имеем только четыре выхода и адрес отправителя на ресивере.
Попробуем, у меня пока не на чем тестировать.CraCk писал(а):Может создать блок как у Слимпера для Nrf24? Чтобы можно было выставлять адрес на блоке от которого мы хотим принимать данные.
Но почему счетчик сбрасывает? Он ни как не привязан к блоку трансмитера.golowa70 писал(а):Так и должно быть, байт имеет размер от 0 до 255
Какие могут быть проблемы? Если это вредно, тогда может нет смысла доделывать приемник.golowa70 писал(а):Лучше использовать один блок передачи и задавать ID приёмника перед передачей данных..
Тогда придется много логики строить в FBD. Если будет много модулей значит будет и много памяти занимать. А так в С коде все таки экономичней получится.golowa70 писал(а):Можно для приемника создать переменные для каждого передающего устройства и мониторинг адрес отправителя.
Так вы удлиняете цикл программы без особой нужды.CraCk писал(а):Какие могут быть проблемы? Если это вредно, тогда может нет смысла доделывать приемник.
не многоCraCk писал(а):Тогда придется много логики строить в FBD
Может и экономичнее ,но не думаю что существенно.CraCk писал(а):Если будет много модулей значит будет и много памяти занимать. А так в С коде все таки экономичней получится.
Залил. Вроде работает. Начал ресетить нано и про мини. Соединение восстанавливается. Потом реши ресетнуть Мегу на 2 сек. тоже восстановилось соединение. Потом Мегу ресетнул на 10 сек. потерял прием от Нано хотя передача на Нано продолжалась. Помог только ресет Наны. Иногда при ресете Меги, пропадает и про мини а Нано продолжает работать.golowa70 писал(а):ли такПрикрепления: mega_reciver_PJ.rar(190Kb)
Сделайте ресет на меге при отключеном RX на Нано и Промини, и посмотрите, будет ли восстанавливаться приём на мегеCraCk писал(а):Потом Мегу ресетнул на 10 сек. потерял прием от Нано
Немного лучше. Связь восстанавливается, но обновление данных из двух модулей не обновляется синхронно. Происходит задержка как бы подтормажывает.golowa70 писал(а):Сделайте ресет на меге при отключеном RX на Нано и Промини, и посмотрите, будет ли восстанавливаться приём на меге