Точный таймер для MS DOS Точный таймер для MS DOSпод Octagon PC 510
Можно организовать счетчик-таймер с помощью последовательного порта. Мы включали порт на непрерывную передачу, устанавливали свой обработчик прерывания. В теле обработчика опрашивали дискретные сигналы (например с LPT). Если установить скорость передачи 115200, то опрашивать дискретный ввод можно примерно с интервалом 0,1 мс. У нас это давно под MS-DOS работает уверенно. Правда при этом теряется один COM-порт.
jer
Первоначально опубликовано ingvar
Можно организовать счетчик-таймер с помощью последовательного порта.
Я делал и обратное - вешал обработчик последовательных портов на прерывание от таймера, когда работал с несколькими мультиплексорами, чтобы избежать эффекта потери прерываний.
Инженер-системотехник
+7 (916) 477 3925
получилось через RTC - частоту можно ставить от 2 Гц до 8 кГц (т.е. степень двойки делителя от 15 до 3). :
А что будет с системным временем? Oldhandler надо вызывать один раз в 55 мс.
Инженер-системотехник
+7 (916) 477 3925
нормально всё с системным временем...
В теле цикла, как раз выводятся текущие секунды, чтобы убедится, что за секунду происходит указанное число прерываний.
Первоначально опубликовано lemkzuka
...
if (cnt2 >= 2048) //over second
{
gettime(&t); //get time
tt1 = t.ti_sec; //get second
printf("%2d --> %ld %ld\n",tt1,cnt,cnt2);
...
Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме