Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/73: Рейтинг темы: голосов - 73, средняя оценка - 4.73
hitpir
0 / 0 / 0
Регистрация: 17.02.2011
Сообщений: 6
1

Меню устройства в hyperterminal(по UART)

28.11.2012, 18:31. Просмотров 13488. Ответов 15
Метки нет (Все метки)

Сегодня работал с железякой которая имеет подобную менюшку. Смысл примерно такой комп подключаеться к устройству по RS 232, в гипертерминале настраиваются параметры соединения и вываливаеться меню - типо Вас приветствует такое то устройство, соответственно можно это устройство конфигурировать, менять какие то значения итд. Кто нибудь реализовывал подобное на AVR? Поделитесь пожалуйста опытом!
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2012, 18:31
Ответы с готовыми решениями:

Вопрос по системе команд устройства подключенного по UART
Здравствуйте! Опишу кратко суть вопроса. Есть некое устройство, подключенное к ПК по UART....

Создание Меню для устройства
В общем наткнулся на статью вот. Как организовать меню в AVR на дисплее 3310?

Адаптация меню под мобильные устройства
Добрый день! Хочу попросить совета в одном вопросе - у меня есть меню (1 и 2 на рис.). как сделать...

HyperTerminal
Здравствуйте! Существует ли аналог HyperTerminal для windows server 2008

C# подключение к HyperTerminal
Добрый день ! В С# я новичок, поэтому за любую помощь или идею большое спасибо ! подскажите...

15
omokost
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 2,753
28.11.2012, 18:36 2
Цитата Сообщение от hitpir
... Кто нибудь реализовывал подобное на AVR? Поделитесь пожалуйста опытом!
При чем тут AVR? Во флеш зашивается менюшка, затем тупо выдается по USORT. Терминал это принимает и распечатывает. Введенный в терминале символ соответствует выбору из меню. USORT его принимает и МК делает соответствующие выводы. Как то так.
0
kytikot
0 / 0 / 1
Регистрация: 27.01.2010
Сообщений: 3,435
28.11.2012, 18:36 3
Это меню не в гипертерминале!!!
Это меню выдает само устройство!
0
hitpir
0 / 0 / 0
Регистрация: 17.02.2011
Сообщений: 6
28.11.2012, 19:13 4
Цитата Сообщение от kytikot
Это меню не в гипертерминале!!!
Это меню выдает само устройство!
Это я прекрасно понимаю, что меню выдает устройство.
0
28.11.2012, 19:13
hitpir
0 / 0 / 0
Регистрация: 17.02.2011
Сообщений: 6
28.11.2012, 19:17 5
Цитата Сообщение от omokost
Цитата Сообщение от hitpir
... Кто нибудь реализовывал подобное на AVR? Поделитесь пожалуйста опытом!
При чем тут AVR? Во флеш зашивается менюшка, затем тупо выдается по USORT. Терминал это принимает и распечатывает. Введенный в терминале символ соответствует выбору из меню. USORT его принимает и МК делает соответствующие выводы. Как то так. Возможно ли подобное реализовать в микроконтроллере? Удобно бы было - например использовать дисплей нецелесообразно, а создав платку на основе например FT232 работать с контроллером - менять данные в EEprom итд? Если можно разьясните чайнику поподробнее. С уважением Сергей!!!
0
itysiy
0 / 0 / 0
Регистрация: 18.01.2012
Сообщений: 1,418
28.11.2012, 19:25 6
Цитата Сообщение от hitpir
Цитата Сообщение от omokost
Цитата Сообщение от hitpir
... Кто нибудь реализовывал подобное на AVR? Поделитесь пожалуйста опытом!
При чем тут AVR? Во флеш зашивается менюшка, затем тупо выдается по USORT. Терминал это принимает и распечатывает. Введенный в терминале символ соответствует выбору из меню. USORT его принимает и МК делает соответствующие выводы. Как то так.
Возможно ли подобное реализовать в микроконтроллере? Удобно бы было - например использовать дисплей нецелесообразно, а создав платку на основе например FT232 работать с контроллером - менять данные в EEprom итд? Если можно разьясните чайнику поподробнее. С уважением Сергей!!!
тогда нужно putty. в нем должно взлететь. Но чаще делают командную строку. Через нее очень удобно конфигурировать девайсы. Причем конфигурировать могут и другие пользователи, знакомые с командной строкой. Им тока Хелп написать и все.
0
omokost
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 2,753
28.11.2012, 19:26 7
Цитата Сообщение от hitpir
... Если можно разьясните чайнику поподробнее...
Подробнее, создаете меню в коде ASCII, в этом меню выделяете каждый пункт меню собственным символом, зашиваете во флеш, в нужное время выдаете через USORT. После выдачи ждете приема символа, приняли, если символ валидный - переходите на обработку, невалидный - отбрасываете, снова ждете. Желательно озвучить хотя бы язык, на котором пытаетесь программировать.
0
//Mt
0 / 0 / 0
Регистрация: 20.06.2010
Сообщений: 456
28.11.2012, 19:29 8
Оно: http://we.iosyitistromyss.ru/AVR/komomd ... a-avr.html ?

А уж там хоть ASCII-коды для терминала vt220 хоть как.....
0
Kory
0 / 0 / 0
Регистрация: 16.01.2012
Сообщений: 187
28.11.2012, 19:30 9
Цитата Сообщение от hitpir
С уважением Сергей!!!
Уважение не меряется числом восклицательных знаков, а скорей их отсутствием...

Взяли строку из памяти - выдали в USORT. Ждем ввода символа. Получили. Обработали. Вывели другую строку, по результату обработки. GOTO начало.

Потренируйтесь на командах Format и Fdisk, они консольные, работают по тому же принципу.
Повторять до появления надписи "Format c: somplete".

Выросло поколение которое на УК-НЦ в КИНГа не играло...
0
itysiy
0 / 0 / 0
Регистрация: 18.01.2012
Сообщений: 1,418
28.11.2012, 19:32 10
Цитата Сообщение от omokost
Цитата Сообщение от hitpir
... Если можно разьясните чайнику поподробнее...
Подробнее, создаете меню в коде ASCII, в этом меню выделяете каждый пункт меню собственным символом, зашиваете во флеш, в нужное время выдаете через USORT. После выдачи ждете приема символа, приняли, если символ валидный - переходите на обработку, невалидный - отбрасываете, снова ждете. Желательно озвучить хотя бы язык, на котором пытаетесь программировать.
мне кажется автор хочет другое. МК выводит в терминал пункты меню с выделенным первым пунктом. Пользователь в терминале нажимает кнопку вниз. МК отправляет комманду терминалу отчистить окно. И потом заново отправляет пункты меню, но уже с выделенным вторым пунктом. МК должен отслеживать навигационные клавиши, ентер, ескейп и прочее.
0
omokost
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 2,753
28.11.2012, 19:59 11
Цитата Сообщение от itysiy
...мне кажется автор хочет другое. ...
Возможно и так, но автор пока не озвучил, что именно он хочет.
Скриншот образца не помешал бы.
0
PRS
0 / 0 / 0
Регистрация: 12.07.2011
Сообщений: 3
28.11.2012, 21:14 12
Может это поможет аффтару - http://we.iosyitistromyss.ru/AVR/mic...ast-1.html#cut
0
swk
0 / 0 / 0
Регистрация: 22.10.2015
28.11.2012, 22:02 13
Цитата Сообщение от hitpir
Возможно ли подобное реализовать в микроконтроллере? Удобно бы было - например использовать дисплей нецелесообразно, а создав платку на основе например FT232 работать с контроллером - менять данные в EEprom итд? Если можно разьясните чайнику поподробнее. С уважением Сергей!!!
Посмотрите вот это:
http://www.cqham.ru/PLC_1.htm
http://www.cqham.ru/tbcgroup/
http://www.cqham.ru/tbcgroup/module16_32.htm
http://www.cqham.ru/tbcgroup/uconsoti.htm

Можете использовать целиком, можете кусков оттуда надергать.
0
С_Ч
0 / 0 / 0
Регистрация: 11.11.2012
Сообщений: 53
28.11.2012, 23:48 14
MODBUS эта штука называется. Правда он не очень хорош, на мой взгляд, и достаточно стар. Сначала изучается сам протокол, далее пишется модуль в контроллер, который все данные собирает и передает в комп. по этому протоколу. На компе пишется утилита, может можно взять стандартную модбасовскую. И все. Через сомпорт идет обмен и наслаждаетесь чудесами компьютерных технологий. В зависимости от того, какой модуль в контроллер напишите, можно не только смотреть параметры, но и писать их в EEPROM. Вообщем ничего сложного, если знаешь(смайлик). В модбасе (впрочем как и везде) немного сложновато CRC считается, но коды на СИ есть в инете. На асме для AVR могу кому надо коды CRC дать. Я такую штуку на 51-м для клиента делал.
0
уни
327 / 106 / 12
Регистрация: 06.03.2010
Сообщений: 234
29.11.2012, 03:59 15
Тут уже ссылку дали на MicroVGA conio/usir interfosi library. Я покажу как это выглядит. Можно даже виртуально поработать с этой прошивкой, если кому интересно, используя виртуальный нульмодем для виртуальных COM-портов с терминалом ZOC/Pro 5.06 и выше и Proteus 7.7 SP2. Всё будет как по-настоящему (для этого не нужно вообще никакого железа, только несколько программ и файл прошивки). См. картинки.

Modbus - это явно не то, что хотел автор, т.к. он видел работу с устройством не в отдельном программном клиенте, а именно в терминале, т.е. клиент организован на стороне устройства.
Что касается бейсика, то вот тут я тоже показал как его интерфейс выглядит: BASINT на Pinboard II (AVR). Тестовый пример. Это, конечно, более убого, т.к. авторы не ставили своей целью разработать продвинутую терминальную библиотеку.

Насколько быстро это будет работать? Посчитать можно элементарно (хотя проще, конечно, посмотреть и пощупать руками). На видео (слушать в наушниках или в VLC, где можно подкрутить громкость) я демонстрировал какой обмен данными идёт с терминалом при помощи монитора COM-порта.

Итак, к примеру, есть у нас окошко 80 x 25 символов = 2000 байт. Если мы хотим тупо отобразить разные символы по всей области окна терминала, то минимум это будет 2 Кб -й фрейм. Т.е., чтобы это отобразилось за время меньше секунды нам нужна ширина канала (по скорости) около 2 Кб / секунду и выше. Если мы настроем USORT на 9600 бит/с, то это будет грубо где-то 960 символов в секунду, т.е. для отображения полного окна забитого символами нам понадобится 2000 симв / 960 симв /сек ~= 2,1 секунды. Если мы поднимем скорость до 19 200 бит/сек, то это будет быстрее: 2000 симв / 1 920 симв /сек ~= 1 секунда. Но, как правило, ESC-последовательности могут сократить объём кода, кодируя пустое пространство, типа как с RLE алгоритмом сжатия у изображений - то, что повторяется много раз, пишется в виде символа и количества повторений. Либо просто там есть команды: очистка окна, автозаполнение до конца строки, передвинуть курсор, спрятать/показать курсор и т.п. Что существенно может сократить накладные расходы. К примеру, менюшка у меня при навигации не обновляет всего экрана. Когда я двигаюсь по нему, то обновляется только её область, а это существенно меньше размеров экрана.

Вот из таких простых соображений можно рассчитать какой сложности интерфейс на данной ширине канала не будет раздражать пользователя свой тормознутостью. Если умело использовать ESC-последовательности, а не тупо перерисовывать экран, то можно сделать интерфейсы по удобству не хуже настройки BIOS. Любителям же командной строки можно напомнить, что, к примеру, ваши домашние роутеры вы настраиваете не через командную строку, так ведь? А через web-интерфейс. Как можно видеть на картинках, реализация и командного интерфейса тоже имеется, как часть общего псевдографического.

И ещё, здесь используется эмуляция ANSI терминала, т.е. такого, который эти самые ESC последовательности понимает. Поэтому для работы с устройством, у которого меню устроено таким образом нужен ANSI-терминал. Насколько мне известно, обычный гипертерминал не может работать в таком режиме, а PuTTy нужно донастраивать для этого, ибо начальные установки цветов у него убогие. В этом может быть недостаток такого похода. Если для web-интерфейсов достаточно любого броузера, то найти нормальный ANSI-терминал сейчас не так просто. Разве что пользователям линукса тут может быть проще, там наверняка есть выбор.

П.С. "Всё уже сделано до нас ..." (с)



0
hitpir
0 / 0 / 0
Регистрация: 17.02.2011
Сообщений: 6
29.11.2012, 09:20 16
Дорогие друзья спасибо большое - не ожидал ,что сразу будет такое количество ответов. Ушел переваривать - по ходу буду писать в эту тему.
0
29.11.2012, 09:20
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2012, 09:20

Hyperterminal and USB
Привет. Возможно работать с устройством через hyperterminal, если оно подключается через usb, так...

Навигация в меню (ContextMenu) клавишами устройства (C#, WinCE5.0, .NET3.5)
Доброго времени суток! Есть меню ContextMenu, есть хардверные клавиши - стреки и Enter. Проблема...

Hyperterminal и диски Seagate
Недавно вышел из строя мой HDD SeaGate Barracuda 7200.11 и я его оживлял подпаявшись к нему через...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.