UART

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Ответить
Аватара пользователя
Max
Лейтенант
Сообщения: 691
Зарегистрирован: 06.09.2015{, 13:12}
Репутация: 5
Откуда: Тюмень-Баку
Имя: Максим

UART

#1

Сообщение Max » 14.10.2015{, 07:03}

Задача такая.
При включении Ардуино в UART надо подавать команду (с Ардуино в UART) с задержкой на подачу команды (пока не пройдут переходные процессы в устройстве подключенному к UART Ардуино) из определенных символов, далее  считать ответ из UART (ответ может быть как короткий так и длинный с разным количеством символов) сравнить ответ с эталоном (либо по последним символам. либо весь целиком, т.е. все символы, либо концовка, либо символы выборочные), далее,
ЕСЛИ ответ правильный (в сравнении с эталоном), то с задержкой 100-200 мс шлется следующая команда также в виде определенного набора символов, слушается ответ из UART и сравнивается с эталоном (как в предыдущем) и т.д. несколько подобных микро циклов.
ЕСЛИ ответ например ERROR, или не соответствует эталону, то выводится сообщение, например на дисплей с указанием номера неправильного ответа, например ERR1, ERR2 и т.д. (или сам ответ с устройства), что бы знать, где проблема и сообщение еще дублируется в другой COM порт. Соответственно отправка команд в UART прерывается.
Понимаю, что надо использовать массивы и строки, но недостаточно в них разбираюсь...
Опыты мои пока хороших результатов не дали. Где то все теряется, или вообще не отправляется. Вручную (из терминала) набираю символы и отправляю, ответы приходят и все отлично  работает.
Буду рад, если подтолкнете в нужном направлении!
Последний раз редактировалось Max 14.10.2015{, 07:49}, всего редактировалось 1 раз.

gil_andrei
Рядовой
Сообщения: 6
Зарегистрирован: 11.01.2016{, 17:56}
Репутация: 0

UART

#2

Сообщение gil_andrei » 14.01.2016{, 21:20}

Удалось ли решить проблему?

Аватара пользователя
dekorator
Лейтенант
Сообщения: 412
Зарегистрирован: 06.09.2015{, 09:39}
Репутация: 7
Откуда: Баку

UART

#3

Сообщение dekorator » 16.01.2016{, 20:52}

Пытаюсь отправить по UART( без разницы через какой), строку - t0.txt="222"
Проверте пожалуйста.

Добавлено (16.01.2016, 20:08)
---------------------------------------------
Формат не менять!

Добавлено (16.01.2016, 20:52)
---------------------------------------------
Мах, чтобы чтобы что-то сложное заработало, нужно чтобы работало простое и без проблем. Иначе можно из ступора попасть в состояниие более глубокое !))) Прога просто класс!))) - учит терпению и развивает силу воли.

Ответить

Вернуться в «Спросить у знатоков»