Управление изображением на мониторе через COM порт

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2409
Зарегистрирован: Ср дек 03, 2008 21:00:19

Сообщение FRIM@N »

Ну это конечно можно, но зачем такие трудности? Сделали бы уж давно клаву, да попробовали.
"нужен разъем DB-9 с планкой, шлейфом и IDCшкой на другом конце."--это раз их еще найти нужно,может конечно найду в доступе комп,но это на другом конце города в лучшем случае и не факт.К тому же я хотел определится со всеми " переменными",а потом уже ваять--кнопки соорудить недолго -только как я проверю что напаял --я к програмированию еще ни разу не прикасался
Чего подогнать? У RS-232 уровни нуля и единицы - +12В и -12В. Для этого и преобразователь.
вот я и хочу обойтись без него

так? хотя я думаю фигню какую -то соорудил,или выводы ограничиваются только назанчением вход\выход в конкретное состояние програмируется?
Вложения
keyboard-scan копия.jpg
(44.99 КБ) 441 скачивание
(\_(\
(=' :') радиоКотЭ
(,('')('')
Реклама
Модератор
Аватара пользователя
Сообщения: 4673
Зарегистрирован: Вс июн 01, 2008 00:17:35
Откуда: Я всего лишь плод вашего воображения...

Сообщение Пухич »

Никаких резисторов не надо. Просто восемь кнопок (для начала), можно пока даже без диодов, если обещать нажимать по одной.

Дальше. Я так помню, что вроде при отсутствии подключений сигналы DSR, CTS, DCD, RI находятся в единице (смотрится в регистре состояния модема). Значит выставляя нули на сканирующие линии DTR и RTS через регистр управления модемом мы, при нажатии кнопок на пересечениях сканирующих и считывающих линий, увидим нули в соответствующих битах регистра состояния модема.

Вы уж там пробуйте наконец. :)
Знание - сила!
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2409
Зарегистрирован: Ср дек 03, 2008 21:00:19

Сообщение FRIM@N »

Вы уж там пробуйте наконец
стопицот.сегодня вечером если все будет удачно я добуду COM порт и выведу его наружу.заодно может быть найду ответную часть, если совсем повезет еще и кнопок нужных достану--а там по обстоятельствам дедо в том что у меня сейчас сесия и сопутствующие проблеммы в виде экзаменов и заданий.Кстати немного позазмыслив я пришел к выводу что матричной клавиатуры собственно и не нужно т.к. линий ввода нужно только 3
Вложения
2010-12-15_113759 копия копия.jpg
(117.37 КБ) 364 скачивания
(\_(\
(=' :') радиоКотЭ
(,('')('')
Модератор
Аватара пользователя
Сообщения: 4673
Зарегистрирован: Вс июн 01, 2008 00:17:35
Откуда: Я всего лишь плод вашего воображения...

Сообщение Пухич »

Ну тогда все тем более просто. Напругу 12В можно взять с того же порта, выставив на каком-нибудь выходе.

А чего сессия-то так рано?
Знание - сила!
Реклама
Эиком - электронные компоненты и радиодетали
Кошка, гуляющая сама по себе
Аватара пользователя
Сообщения: 15568
Зарегистрирован: Вс ноя 14, 2010 15:23:30

Сообщение ko666ka »

в армию призывают по 2 му кругу :)))
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2409
Зарегистрирован: Ср дек 03, 2008 21:00:19

Сообщение FRIM@N »

А чего сессия-то так рано?
сам в шоке,она обычно в январе была в конце,а этот курс выпускной --наверно поэтому--я думал у меня еще месяц с лишним на сдачу домашних контрольных,а оказалось что уже и начало сессии пропустил((вот наверстываю
в армию призывают по 2 му кругу
лучше смерть через анальное взыскание
(\_(\
(=' :') радиоКотЭ
(,('')('')
Реклама
Кошка, гуляющая сама по себе
Аватара пользователя
Сообщения: 15568
Зарегистрирован: Вс ноя 14, 2010 15:23:30

Сообщение ko666ka »

зачем вы так - вот пухичу нравится
Модератор
Аватара пользователя
Сообщения: 4673
Зарегистрирован: Вс июн 01, 2008 00:17:35
Откуда: Я всего лишь плод вашего воображения...

Сообщение Пухич »

FRIM@N писал(а):а этот курс выпускной --наверно поэтому--я думал у меня еще месяц с лишним на сдачу домашних контрольных,а оказалось что уже и начало сессии пропустил((вот наверстываю
Ну все равно, даже для выпускного курса рановато. Вы случаем не на заочном отделении? У заочников вполне может быть сильно раньше или сильно позже.
Знание - сила!
Кошка, гуляющая сама по себе
Аватара пользователя
Сообщения: 15568
Зарегистрирован: Вс ноя 14, 2010 15:23:30

Сообщение ko666ka »

не изображайте из себя сочувствующего вы бы Фримона с радостью в армию упекли
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2409
Зарегистрирован: Ср дек 03, 2008 21:00:19

Сообщение FRIM@N »

Пухич на заочном
ko666ka это к делу не относится , а в армию все равно могут еще раз загрести --на переподготовку,вы теперь П. будете преследовать?
Итак был разобрат и выщищен комп и пространство около него --установлен ком порт но возникли некоторые сомнения --а туда ли я "засунул" :oops: ответная часть разъема была как родная --наверное не ошибся
Вложения
SDC10072 копия.jpg
(151.17 КБ) 424 скачивания
(\_(\
(=' :') радиоКотЭ
(,('')('')
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1394
Зарегистрирован: Ср янв 30, 2008 17:52:55

Сообщение vistador »

кстати, после того как разберетесь с последовательным портом- можно предложить вариант добавить преобразователь УСБ-УАРТ . Апаратные средства уже есть и работают надежно...
таким образом- можно осуществлять контроль так же по УСБ
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1394
Зарегистрирован: Ср янв 30, 2008 17:52:55

Сообщение vistador »

FRIM@N писал(а): туда ли я "засунул" :oops: ответная часть разъема была как родная --наверное не ошибся
надо читать обозначения на маме... такой разьем может иметь так же УСБ порт...
кстати как называется микросхема около разьема??
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2409
Зарегистрирован: Ср дек 03, 2008 21:00:19

Сообщение FRIM@N »

надо читать обозначения на маме... такой разьем может иметь так же УСБ порт...
кстати как называется микросхема около разьема??
Юсб подключен к такому же разъему но с другой стороны разъема флоппи -а на плате не подписано только 1 стоит --я так подумал что COM 1/f микросхему уже не скажу т.к. копм под столом и вытаскивать его оттуда --это серьезно
(\_(\
(=' :') радиоКотЭ
(,('')('')
Модератор
Аватара пользователя
Сообщения: 4673
Зарегистрирован: Вс июн 01, 2008 00:17:35
Откуда: Я всего лишь плод вашего воображения...

Сообщение Пухич »

FRIM@N писал(а):Пухич на заочном
А, ну тогда понятно. Тогда нормально по срокам.
Итак был разобрат и выщищен комп и пространство около него --установлен ком порт но возникли некоторые сомнения --а туда ли я "засунул" :oops: ответная часть разъема была как родная --наверное не ошибся
Не надо никаких сомнений - возле него подписано "СОМ1". Вперед и с песней. Даже число ног в тему.

Можно для интереса глянуть, что за микра рядышком, а то на фотке не видно надписей. По-моему к ней идут дороги от порта.
Знание - сила!
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2409
Зарегистрирован: Ср дек 03, 2008 21:00:19

Сообщение FRIM@N »

Итак порт подключен,припаяны навесом кнопки общий кнопок на RTS выводы на --- DCD\DSR\CTS,но есть вопрос --при неправильном замыкании одного вывода порта -на другой я его не ликвидирую?и второй вопрос --как теперь посмотреть что система будет реагировать на нажатие кнопок,регистр модема я не нашел.кроме ссылок на рельные модемы,нашел пару любительских програм для оценки порта но они как-бы заточены под такую систему когда порт работает в своем штатном режиме.И по программе я так думаю что сначала нужно обозначить переменные\кнопки --потом отрисовать неподвижное изображение .потом подвижное,а затем по запросу переменных их двигать,и какой язык программирования понубасистей порекомендуете?
(\_(\
(=' :') радиоКотЭ
(,('')('')
Модератор
Аватара пользователя
Сообщения: 4673
Зарегистрирован: Вс июн 01, 2008 00:17:35
Откуда: Я всего лишь плод вашего воображения...

Сообщение Пухич »

FRIM@N писал(а):Итак порт подключен,припаяны навесом кнопки общий кнопок на RTS выводы на --- DCD\DSR\CTS,но есть вопрос --при неправильном замыкании одного вывода порта -на другой я его не ликвидирую?
Дак вы ж вход на выход. Вот если выход на выход, то да, и то не всегда для этих портов.
регистр модема я не нашел.
Это как это? Регистр состояния модема находится по адресу 3FE. Регистр управления модемом - 3FC. Один читаете, в другой пишете. Номера битиков найдете сами?
И по программе я так думаю что сначала нужно обозначить переменные\кнопки --потом отрисовать неподвижное изображение .потом подвижное,а затем по запросу переменных их двигать,
Ну это уж как сами решите.
и какой язык программирования понубасистей порекомендуете?
Да любой в принципе. Проблема в том, что к портам вас в Виндах просто так не пустят, я бы порекомендовал юзать драйвер giveio.sys. Он прекрасно вяжется и с Дельфями, и с Билдером.
Знание - сила!
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2409
Зарегистрирован: Ср дек 03, 2008 21:00:19

Сообщение FRIM@N »

Номера битиков найдете сами?
кажется найду
Ну это уж как сами решите.
я имел в виду как это обычно делается,или как бы это сделали вы

\\\\\
И, наконец, последний из регистров COM-порта, регистр состояния модема (3FE), имеет следующий формат:
бит 0 – произошло изменение состояния линии CTS;
бит 1 – произошло изменение состояния линии DSR;
бит 2 – произошло изменение состояния линии IR;
бит 3 – произошло изменение состояния линии DCD;
бит 4 – состояние линии CTS;
бит 5 – состояние линии DSR;
бит 6 – состояние линии IR;
бит 7 – состояние линии DCD;

т.е. нужно выставить в регистре 3FB RTS равным единице. что бы потом подавать ее на входы?и отслеживать по 3FE.Где находится этот регистр в BIOS?я там нашел "знакомые буквы" но немного не в том ключе что ожидал и они не поддаются рихтовке
Вложения
IMG016-01.jpg
(148.21 КБ) 429 скачиваний
(\_(\
(=' :') радиоКотЭ
(,('')('')
Модератор
Аватара пользователя
Сообщения: 4673
Зарегистрирован: Вс июн 01, 2008 00:17:35
Откуда: Я всего лишь плод вашего воображения...

Сообщение Пухич »

т.е. нужно выставить в регистре 3FB RTS равным единице. что бы потом подавать ее на входы?
Да, только C, а не B в адресе.
и отслеживать по 3FE.Где находится этот регистр в BIOS?
Вопрос поставил меня в тупик..... :dont_know:
А зачем вы его там ищете? Там указан только базовый адрес порта, он равен 3F8 для первого СОМ. Остальные адреса вы должны знать сами. И, собсгря, как вы вообще в БИОСе оказались?
Знание - сила!
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2409
Зарегистрирован: Ср дек 03, 2008 21:00:19

Сообщение FRIM@N »

Не мне вас учить как оказываться в БИОСе :))) но я уже осознал свои ошибки.я подумал что состояние некоторых линий порта можно выставвить раз и навсегда,если я правильно понял то это должна выставлять программа которая его использует каждый раз по ее запуску и обращатся к регистрам нужно тоже из программы.Сие откровение пришло мне уже поздно ночью.


вот кусок программы по передаче 1 байта
program prim2;
uses crt,dos;
var
base,result: integer;
e:byte;

begin
base:=$3F8;
port[base+4]:=2; {Установить RTS}
e:=port[base+6] and 16; {Присвоить e состояние CTS}
if e=16 then result:=1 {Если e=16, то result=1}
else result:=0; {...иначе result=0}
writeln('Принятое состояние = ',result); {Вывод результата}
readln; {Ждать нажатия Enter}
port[base+4]:=0; {Сбросить все выходы порта}
end.
program prim2;
uses crt,dos;
var
base,result: integer;
e:byte;

begin вот эта часть остается непонятной она обязательна вне зависимости от остального алгоритма?
если не ставить этот оператор "readln" то она сразу выполнит задачу не дожидаясь нажатия ентера?
(\_(\
(=' :') радиоКотЭ
(,('')('')
Модератор
Аватара пользователя
Сообщения: 4673
Зарегистрирован: Вс июн 01, 2008 00:17:35
Откуда: Я всего лишь плод вашего воображения...

Сообщение Пухич »

FRIM@N писал(а):Не мне вас учить как оказываться в БИОСе :)))
Не, меня интересовал сам повод там оказаться. :))
я подумал что состояние некоторых линий порта можно выставвить раз и навсегда,если я правильно понял то это должна выставлять программа которая его использует каждый раз по ее запуску и обращатся к регистрам нужно тоже из программы.Сие откровение пришло мне уже поздно ночью.
А, понятно. Само собой, все из программы.
вот эта часть остается непонятной она обязательна вне зависимости от остального алгоритма?
Что именно непонятно, я не понял? Вроде там все нормально (за исключением того, что я Паскаль уже подзабыл, мог проглядеть ошибки синтаксиса). И не надо ИМХО сбрасывать RTS - выставили в начале проги, и хватит.
если не ставить этот оператор "readln" то она сразу выполнит задачу не дожидаясь нажатия ентера?
Эта процедура (ридлайн) ждет ввода символов с экрана. И если ее не выполнить, то прога закончится раньше, чем вы увидите итог. Нажатие ентера как бы сигнализирует о вводе строки, и позволяет задержать программу до того момента, как вы сплющите батон.

Вообще не мешало бы все это в цикл заделать.
Знание - сила!
Ответить

Вернуться в «Интеграция с ПК»