ZalmСоветую ознакомиться:
http://pcports.ru/Добавление от 06.04.2009 19:33:
Начинать изучение проще с LPT: Смотришь распиновку и направление портов, подключаешь свой девайс (но смотри, не перенагружай лпт-порт

), далее открываешь, например, Borland Builder C++ 3.1 (досовский), и стряпаешь программку.

inportb - чтение с порта (параметром задаешь адрес, например, 0x379 для регистра состояния), outportb - запись в порт (параметры-адрес порта и записываемые данные).
Прежде посмотри в панели управления, по каким адресам у тебя контроллер сидит.
Контроллер состоит из нескольких регистров. Тебе потребуется регистр данных для записи в свой девайс с компа и, возможно, регистр состояния для чтения данный с девайса. Если в биосе принтерному порту выставлен двусторонний режим передачи данных (EPP+SPP, если не ошибаюсь), то прямо с регистра данных и сможешь читать данные с устройства).
По умолчанию 0х378-регистр данных, 0х379-регистр, 0х37A - регистр управления.
Ещё информация:
http://silver-dog.narod.ru/hands/ports/ports.htm