Страница 1 из 1

двусторонняя синхронизация в UART

Добавлено: 15 май 2021, 22:30
koroleves
Подскажите, пожалуйста, как организовать синхронизацию переменной между ESP и MEGA через UART. У меня получается только синхронизацию в одну сторону. При попытке в два направления - переменная "замораживается".
Такой тип отправки на двух устройствах не работает

двусторонняя синхронизация в UART

Добавлено: 15 май 2021, 23:07
Serg_Grn
Пардон, а что значит "синхронизация переменной"? :smile37:

двусторонняя синхронизация в UART

Добавлено: 15 май 2021, 23:16
koroleves
Это чтобы одна переменная синхронно менялась на двух устройствах. На одном устройстве иземенил - она через УАРТ на втором сразу поменялась, и наоборот - на втором изменил - на первом обновилась

двусторонняя синхронизация в UART

Добавлено: 15 май 2021, 23:43
Serg_Grn
А почему не использовать для этого две переменные на каждом устройстве?

двусторонняя синхронизация в UART

Добавлено: 16 май 2021, 00:06
Vuktor
Что за блок read struct?

двусторонняя синхронизация в UART

Добавлено: 16 май 2021, 07:00
koroleves
Vuktor писал(а): 16 май 2021, 00:06 Что за блок read struct?
Это структура - намного более удобная форма хранения переменных, но суть таже

Отправлено спустя 6 минут 44 секунды:
Serg_Grn писал(а): 15 май 2021, 23:43 А почему не использовать для этого две переменные на каждом устройстве?
Пробовал вначале с "одноименной" переменной на разных устройствах - не работает. Теперь попробовал с разными именами - переменная "замороаживается" - не меняет значения.

Отправлено спустя 4 минуты 45 секунд:
У меня создается впечатление, что при попытке отправлять в две стороны - образуется "кольцо". Т.е. блоки UART не отслеживают изменения переменной, а постоянно отправляют одно и тоже значение друг-другу, игнорируя попытки изменить ее.

p.s. В блоке отправки уарт ставил значение - отправка при изменении.

двусторонняя синхронизация в UART

Добавлено: 16 май 2021, 07:16
koroleves
Попробовал отслеживать не совпадают ли значения переменной - не работает :(

двусторонняя синхронизация в UART

Добавлено: 16 май 2021, 07:36
Vuktor
koroleves писал(а): 16 май 2021, 07:00 Это структура - намного более удобная форма хранения переменных, но суть таже
Я ещё до структур не дошёл. Полезная наверное вещь :smile225: Вот бы книгу учебник по Flprog написал кто. Подробный, по всем пунктам, с примерами. Я бы купил за любые деньги :rolleyes:

двусторонняя синхронизация в UART

Добавлено: 16 май 2021, 10:06
koroleves
нашел баг
Способ отправки через BYTE не работает см рисунки
однако если использовать промежуточную конвертацию в String и обратно - работает
Что я тут упустил?

Отправлено спустя 27 минут 21 секунду:
Попробовал промежуточную конвертацию в Integer - все работает, проблема, похоже, именно в Byte