C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
порты ввода-вывода, 378, 379, 37А
eugene_sh
Отправлено: 07.05.2004, 15:51


Не зарегистрирован







Программу пишу под ДОС, пробовал и на ассемблере и на С++, состояние линий порта не изменяется, вот пример программы, напряжение смотрел на линии SelectInput осциллографом:

.386
.model small
.code
_start: mov al,8h
mov dx,37Ah
out dx,al
jmp _start
ends
end start

писал и на С++, задержки ставил, один хрен не идет. Порт работает, У Винды получается выдать импульс на линии. Что я делаю не так?
eugene_sh
  Отправлено: 07.05.2004, 18:17


Не зарегистрирован







Блин, неужели никто с портами не работает???
Vlad
Отправлено: 11.05.2004, 08:01


Машинист паровоза

Группа: Участник
Сообщений: 231



Все должно работать, если просто даже пишешь на приплюснотом, если это порты принтера, или другого девайса то нужно учитывать, что они могут работать через аппаратное прерывание, соответственно нужно его обрабатывать. Можно писать и под винду, зачем под досом мучиться. А что за девайс то?
pioner
Отправлено: 24.05.2004, 13:51


Ученик-кочегар

Группа: Участник
Сообщений: 4



Под win98, dos на Borland С++3.1 вообще всё просто:
outport(0x378, 0x55); //и на шине данных сразу же 01010101

и так далее а если установить кажется 6-й бит 0x37A в 1, то

inport(0x378); //читаем данные на шине данных

если не работает то проблема не в программе а с LPT.
oksman
Отправлено: 24.05.2004, 19:41


Ученик-кочегар

Группа: Участник
Сообщений: 6



Работаю с WinIo- без проблем.Поищи на форуме
borland.xportal.ru
Не найдешь- стукни на мыло-вышлю работающий пример.

Вернуться в Вопросы программирования в C++Builder