| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Asm: Общие вопросы > Фишка с портом |
| Автор: Georg4 4.2.2004, 15:48 |
| Аналоговые входы считываются путем отслеживания времени,в течениe которого соответствующий бит установлен в единицу, после команды OUT 201h,XXX. Пример чтения координаты X устройства А: mov dx,201h out dx,al ;инициировать обмен, AL-любой байт mov cx,-1 ;счетчик для цикла Again: in al,dx inc cx ;увеличить счетчик test al,1 ;бит AX сброшен? jne Again ;нет, ждем Результат в СX указывает координаты Х. Как считать координаты Y? И вообще остальные координаты |
| Автор: Serzh 4.2.2004, 16:59 | ||
| это ты наверное про midi порт? если да, то проверяешь другой бит.
|
| Автор: Georg4 5.2.2004, 00:36 |
| Спасибо. Вроде работает будут глюки, скажу |
| Автор: Georg4 6.2.2004, 01:17 |
| Вроде работает, только огда написал там тройку она все равно начала считывать со второго бита. т.е. когда я параллельно считываю 2-мя функциями 2-й и 3-й биты то показания абсолютно идентичны. Вкратце: я делаю прогу которая считывет координату джойстика и соответственно сопротивление на всех его аналоговых входах. Вот по первому входу все путем, по второму (с двойкой) все тоже нормально, а вот дальше что-то нечто!!! |
| Автор: Georg4 6.2.2004, 17:15 |
| ТАкая проблема! 1-ю,2-ю и 3-ю линии могу считать написав соответственно test al,1 test al,2 и как ни страно test al,4; интерестно почему. А вот четвертая линия не считывается! |
| Автор: Serzh 9.2.2004, 01:46 |
| дык эта... в test указываеться не номер бита, а маска битов - 1 - 0ой бит 2 - 1ый бит 4 - 2ой бит 8 - 3ий бит 16 - 4ый бит и т.д. из чего следует, что для 4ой линии проверяй так: test al, 8 |