отваливается прием с приемника 433 Мгц
- Войдите на сайт для отправки комментариев
Всем доброго времени суток. Господа подскажите плиз в чем проблема: Есть две ардуинки, между ними организована связь по каналу 433 Мгц. Одна ардуинка отправляет на другую ее адрес и команду, другая возвращает обратно адрес, команду и еще некие данные. отправка адреса и команды на запрос проходят нормально, ардуинка тоже все четко получает я все это еще в com шлю для теста, обратно тоже отсылка идет четко, а вот прием обратной команды и данных хромает. Сначала все четко пару тройку мож большу запросов проходят с четкими ответами а вот потом то один байт потеряется потом еще один и врезультате вообще остаются один или два байта из шести. Перепробовал все...ответ на нее идет четко а вот прием хромает. Com порту тоже пропадают данные, а вот если перезагрузить ее все восстанавливается хотя сам приемник так и принимает данные смотрел осциллографом дело вроде не в нем потому что менял на другой тоже также. Грешу на библиотеку virtualwire кто что может подсказать.
На всякий случай приемная часть кода:
void loop() { if(digitalRead(Button_pin)==HIGH) msg[5]=255; else msg[5]=1; unsigned long currentMillis = millis(); if (currentMillis - previousMillis >= OnTime) { previousMillis = currentMillis; // запоминаем момент времени lcd.clear(); msg[0]=101; digitalWrite(led_pin, HIGH); // Зажигаем светодиод в начале передачи vw_send((uint8_t *)& msg,6); // Отправка сообщения vw_wait_tx(); // Ожидаем окончания отправки сообщения digitalWrite(led_pin, LOW); // Гасим светодиод в конце передачи } if (vw_get_message(message, &messageLength)) // Если есть данные.. { digitalWrite(led_pin, HIGH); // Зажигаем светодиод в начале приема пакета Serial.print("Send"); for (int i = 0; i < messageLength; i++) { Serial.print(message[i]); // выводим их в одной строке Serial.print("_"); }