Не мога да подкара програма писана за ДОС под Win XP, а под 98 работи без проблеми.
Идейката на програмата е следната:
1. Върти се един безкраен цикъл докато не се вдигне флаг.
2. На COM1 са закачени 2 прекъсвания
a. Първото изпраща последователност от байтове, когато се изпрати поредния байт COM-а предизвиква прекъсване за да му бъде подаден следващия байт
b. Второто чака да получи одговор на входа на COM-а и когато го получи вдига флага. С което кара програмата отдолу да излезне от цикъла и да продължи
Проблема е следния: Когато прекъсванията работят xp-то не дава никакво процесорно време на основната задача (в случая на цикъла който се върти до вдигане на флага). И така когато флага се вдигне няма кой да обработи входа и пак чрез флагове да промени изходните данни. Не мога да прекъсна изходния поток от данни защото другото устройство приема, че комуникацията се е разпаднала. Но зареди експеримента сложих брояч който след известна време да прекъсне изнодния поток, веднага след спирането на изнодния поток основния процес отново започваше да работи.
Някой има ли идея какво мога да направя за да я подкарам под xp?