Re[3]: Драйвер для Com-порта
От: ArtSh Россия  
Дата: 27.12.04 21:10
Оценка:
Здравствуйте, kai62, Вы писали:

Если Вы решили писать все сами, то тогда надо разобраться в програмных тонкостях.
COM порт представляет собой (с програмной точки зрения) 7 смежных адресов ввода-вывода, причем некоторые(в зависимости от установленных бит) играют разную роль. Так смещение 0 — THR/RBR, при DLAB = 0, и DLL при DLAB = 1;
THR — промежуточный регистр передатчика(соответственно при записи),
RBR — буферный регистр принимаемых данных(соответственно при чтении),
DLL — регистр младшего байта делителя частоты.
DLAB — 7 бит регистра со смещением 2(FCR).

Кроме того, необходимо анализировать ошибки, возникающие при передаче/приеме, так если Вы попробуете прочитать из порта, к которому ничего не подключено, или не совпадают частоты передачи данных, то Вы увидите 0xFF, и код ошибки в соответствующем регистре ....
Так что будте очень внимательны, и прочитайте какую нибудь книгу про компьютерное железо, или воспользуйтесь стандартным драйвером, по моему, очень тяжело найти задачу, с COM портом, которую нельзя было бы решить в user-mode
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.