Показать сообщение отдельно
Старый 11.09.2004, 15:25     # 4
Melkor
Full Member
 
Аватар для Melkor
 
Регистрация: 25.11.2001
Адрес: Imho.ws
Сообщения: 941

Melkor Луч света в тёмном царствеMelkor Луч света в тёмном царствеMelkor Луч света в тёмном царствеMelkor Луч света в тёмном царствеMelkor Луч света в тёмном царствеMelkor Луч света в тёмном царстве
хммм.... проблема не совсем в том..
CEO наверное ты прав.
Что получается:
считать весь байт из DATA-регистра.
допустим
(DATA - адрес порта прописанный в начале программы через #define
#define PORTADRESS 0x3bc
#define DATA PORTADRESS+0
#define STATUS PORTADRESS+1
#define CONTROL PORTADRESS+2
)

a=_inp(DATA); //весь порт

или даже так:
a=_inp(DATA) & 0x01); //только первый бит

можно так же записать на весь порт
_outp(DATA, 0xff); //весь
_outp(DATA, _inp(DATA) | 0x01); //первый бит



Проблема заключается в том, что когда я подаю +5в на какой-нить из контактов в DATA то это никак не отображаеся в регистрах. То есть порт выдает 0 (напряжние падает с +5 до +1)
По ходу из-за того чот остальные биты используются для вывода этот тоже конфигурируется так. То есть как вывод а не ввод.
__________________
Когда умираешь, да еще так долго и трудно, очень хочется хоть немного насолить живым, просто невозможно удержаться от искушения!
М.Фрай
Melkor вне форума