Kamrad.ru
 
 
дневники | кабинет | регистрация | календарь | участники | faq | правила | поиск | фотоальбом | каська | выйти
Kamrad.ru Kamrad.ru » Форумы общей тематики » Железный поток (hardware) » Работа с com портом или rs232!!!
новая тема  ответить следующая тема | предыдущая тема
Автор
 
Bart.cv - offline Bart.cv
Cool20-11-2005 07:42 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Работа с com портом или rs232!!!

Помогите пожалуйста, срочно нужно знать как устроен Com порт: как посылать в него каманды с помощью Delphi, какие сигналы (напряжение) при ?том на выходе и т.п. Затакую информацию буду весьма благодарен. По возможности присылайте ссылки. Зарание благодарю!!!

larry1234 - offline larry1234
20-11-2005 21:30 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Может тут http://www.hwb.acc.umu.se поискать, а там и дальше ссылки найдутся...

LazyFox - offline LazyFox
21-11-2005 11:07 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



COM-port (RS232)
низкий уровень - взять описание микросхемы последовательного порта, почитать - там все сигналы, логика работы - команды-ответы-диаграммы..
что выведено на разъем DB9 или DB25 - см. хотя бы по линку выше.
сильно примерно (забыл уже почти все, в т.ч. правильную терминологию ) - есть линии приема, передачи, управляющие (квитирования?), ну, и конечно - "земли" (общая и сигнальная, кажись). Сигнал - утверждяют, что +\- 12 В, хотя возможны разночтения - через COM нормально работают всякие GPS и эхолоты по NMEA, где-то там они совместимости достигают, хотя рассчитаны под другие, вроде бы, границы..

В компе работа с периферией идет посредством записи-чтения в порты ввода-вывода (не то же самое, что СОМ-порт, а фактически диапазон адресов, которые можно читать-писать) . Соответственно СОМ - известен базовый адрес порта ВВ (см. BIOS, если не автомат, иначе - ресурсы в списке устройств). Логика работы (что записал - что получилось - где прочитать) не подскажу.. В Дельфи не работал, а в Паскале - 20 лет назад, но, как вспоминается - порты ВВ там (в Паскале) были представлены массивом байт Port или слов PortW, соответственно читать-писать - работа с элементами массива, примерно так (используемые в примере адреса и значения - абстрактные):

code:

const
MovePort : word = $222;
SwitchPort : word = $300
.....
port[MovePort]:=$0F;
SwitchByte:= port[SwitchPort] and $0F;



Учти, в приличной операционке (Windows NT, 2000, XP) далеко не в любой порт дают доступ прикладным программам (в смысле прямой работы, в обход драйвера), может, придется поставить что-нибудь типа драйвера totalio, открывающего все порты..

Если работа на таком низком уровне не нужна - "кури" описание функции, позволяющей управлять отдельными сигналами СОМ-порта (определение из Win32, в Delphi может быть определена чуть по-другому):

BOOL EscapeCommFunction(
HANDLE hFile, // handle to communications device
DWORD dwFunc // extended function to perform
);

Описание портов (немного)
SERIAL PORT

Изменено: LazyFox, 21-11-2005 в 11:30

Текущее время: 22:14
новая тема  ответить следующая тема | предыдущая тема
 
Перейти:

версия для печати   отправить эту страницу по e-mail   подписаться на эту тему

 
Powered by: vBulletin Version 2.0.1
Copyright ©2000, 2001, Jelsoft Enterprises Limited.
Любое использование материалов сайта
возможно только с разрешения его администрации.


 

Рейтинг@Mail.ru
Рейтинг@Mail.ru