Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Микроконтроллеры (MCU) и микропроцессоры (MPU) > перепрограммирование таймера 8253/8254


Автор: Opus 2.11.2011, 17:49
Приветствую всех, необходимо перепрограммировать таймера 8253/8254 IBM PC, так чтобы можно было делать замеры времени до миллисекунды.
Задача в том чтобы изменение счетчика вступило в силу только после завершения текущего цикла. Перепробовал все режимы, счетчик сбрасывается после занесения в порт старшего байта и устанавливает сразу новое значение.
Особое внимание уделял 2 и 3 режиму (программируемый генератор импульсов) 
Использую: Dos, код пишу на pascal. 

вот код:
функция инициализации
Код


port[$43]:=$0;
port[$43]:=$36;
port[$40]:=$a9;
port[$40]:=$4; {1193 по умолчанию}


{функция переустановки счётчика}

port[$43]:=$0;
cl1:=port[$40];
ch1:=port[$40];
{результат cl1 = 40h ch1= 2h}

port[$43]:=$0;
port[$40]:=a;
port[$40]:=b;
{значение счетчика варьируются от 1193 до 1194 }


{читаем ещё}
port[$43]:=$0;
cl3:=port[$40];
ch3:=port[$40];
{результат cl3 = a8h ch3= 4h - сбросился}



подскажите в чем беда, в документации написано что он не должен сбрасываться.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)