Перейти к содержанию
    

AVR + FT232, приглашение в начале сесии

Подключил FT232R к ATmega32. Двумя проводками, без hw flow control. Как можно программно или аппаратно (дополнительными проводками) определить, что пользователь запустил терминальную программу и соединился с COM-портом, чтобы вывести приглашение? Кажется, я где-то такое видел.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

определить, что пользователь запустил терминальную программу и соединился с COM-портом, чтобы вывести приглашение?

Подключаете терминал и набираете "Уважаемый девайс на AVR это пользователь Вася Пупкин. Прошу вывести приглашение, если это не затруднительно". Девайс эту фразу ловит и выводит приглашение. Можно конечно и чего-нибудь покороче, например одним байтом обойтись :).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подключаете терминал и набираете "Уважаемый девайс на AVR это пользователь Вася Пупкин. Прошу вывести приглашение, если это не затруднительно". Девайс эту фразу ловит и выводит приглашение. Можно конечно и чего-нибудь покороче, например одним байтом обойтись :).

 

А состояние выводов DTR/RTS как-то связано с открытием порта на стороне компьютера?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А состояние выводов DTR/RTS как-то связано с открытием порта на стороне компьютера?

Связано, если прикладная программа управляет соответствующим образом.

Для прикладной программы гипертерминал, возможны два варианта - или связано, или нет :), в зависимости от запрета или разрешения аппаратного управления потоком.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

RX- при открытии порта меняет своё состояние --

открыт +10В

закрыт -10В

 

Только что проверял.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Только что проверял.

Нет. "проверяйте" проверяйте дальше :)

 

 

А состояние выводов DTR/RTS как-то связано с открытием порта на стороне компьютера?

"Открытие" порта есть некая абстракция в общем случае никак на сказывающася на внешнем состочнии сигналов. DTR/RTS вы можете управлять на стороне компьютера по своему усмотрению или пытаться попросить об этом терминальную программу. Проблема в том, что при отключеном компьютере/кабеле приемники вполне могут выдавать свое последнее состояние.

Единственный надежный способ - потребовать от пользователя или терминальной программы послать определенный байт или последовательность. В случае если устройство включается/перезапускается позже, то оно, напимер, переодически посылает <BEL> и ожидает реакции пользователя на этот звуковой сигнал, например ввиде посылки <Spacе>.

Если терминальная программа своя или она поддерживает скрипты, то все это 'автоматизируется' - при запуске терминалка посылает <XON> и соответственно выдает <XON> на <ENQ> . Получение <XON> означает для контроллера наличие для терминала.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...