драйвер на vxd под ISA: левые данные в порту :-(
От: Kooksha  
Дата: 04.05.02 16:06
Оценка:
Приветствую!
Имеется ISA карточка, у нее 1 порт.
есть vxd с одной функцией, которая в этот порт данные закидывает.
Есть еще програмулька досовая, которая под ДОСом нормально пашет, а вот под Win9x иногда принимается не то, что послал. Тоже самое и через VxD
Может кто знает, в чем тут дело и в каком направлении копать.
Re: драйвер на vxd под ISA: левые данные в порту :-(
От: Botan2  
Дата: 05.05.02 02:11
Оценка: 6 (1)
Здравствуйте Kooksha, Вы писали:

K>Приветствую!

K>Имеется ISA карточка, у нее 1 порт.
K>есть vxd с одной функцией, которая в этот порт данные закидывает.
K>Есть еще програмулька досовая, которая под ДОСом нормально пашет, а вот под Win9x иногда принимается не то, что послал. Тоже самое и через VxD :-(
K>Может кто знает, в чем тут дело и в каком направлении копать.

Здесь могут быть несколько граблей, 2 из них:
1. Неполная дешифрация адреса на карте. Вследствие чего под виндовозом в порт попадают данные не предназначенные для него. Например, если карта дешифрирует
линии адреса 0-9 выделяя адрес 0x300, а Win (другой драйвер, ядро или прога) пишет в порт 0x700, 0xb00 и т.д. то карта все равно дешифрирует 0x300. Могут быть и другие схемотехнические ляпы.
2. Под WIN возникают большие задержки в програмее и невозможность точно синхронизироваться с событиями. Win это не RT OS.

У нас на работе примерно тоже самое + обработка прерываний в RT, взвесив все за и против — мы "ушли" под ДОС.
Re[2]: драйвер на vxd под ISA: левые данные в порту :-(
От: Аноним  
Дата: 21.05.02 07:13
Оценка:
Здравствуйте Botan2, Вы писали:
....
K>>Есть еще програмулька досовая, которая под ДОСом нормально пашет, а вот под Win9x иногда принимается не то, что послал. Тоже самое и через VxD :-(
K>>Может кто знает, в чем тут дело и в каком направлении копать.

B>Здесь могут быть несколько граблей, 2 из них:

B>....
B>У нас на работе примерно тоже самое + обработка прерываний в RT, взвесив все за и против — мы "ушли" под ДОС.
Починили! проблема действительно оказалась в железе. Теперь с аппаратными прерываниями возимся :-)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.