IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

> Работа с таймером., Таймер высокого разрешения
сообщение
Сообщение #1


Гость






И так такт таймера по умолчанию составляет 55 мс. Но в жизни есть такие чудесные моменты, когда требуется, что-нибудь периодически выполнять через 20 мс, 10 мс или даже 1 мс. В сети выложены примеры быстрых таймеров, но, честно говоря, что к чему в них я так понять и не смог. Из не проверенных данных я знаю, что изменить такт таймера с 55 мс на 10 мс условно говоря просто, вот только ни где не сказано как это сделать. Как получают более мелкие такты для меня большая загадка.
Просветите, пожалуйста.

Примеры перепрограммирования частот системного таймера находятся здесь:
http://pascal.sources.ru/datetime/index.htm

PS Я не программист, так балуюсь, С и Асм’у не обучен.
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Е-е-е, получилось. Значиться так:

43h - управляющий регистр:

7 6 5 4 3 2 1 0
T-T-T-T-T-T-T-
¦ ¦ ¦ ¦ ¦
LT+T+T+T+T+-+T+T-
LT- LT- L=T=- L= BCD: 0 - двоичный счет;
¦ ¦ ¦ 1 - двоично-десятичный счет.
¦ ¦ ¦
¦ ¦ L===== M: 000 - режим 0;
¦ ¦ 001 - режим 1;
¦ ¦ X10 - режим 2;
¦ ¦ X11 - режим 3;
¦ ¦ 100 - режим 4;
¦ ¦ 101 - режим 5.
¦ ¦
¦ L========== RW: 00 - код команды CLC (запомнить CE);
¦ 01 - чтение/запись старшего байта;
¦ 10 - чтение/запись младшего байта;
¦ 11 - чтение/запись младшего, затем
¦ старшего байта.
¦
L============== SC: 00 - канал 0;
01 - канал 1;
10 - канал 2;
11 - код команды RBC (чтение состояния канала).

Следовательно, вводим такую последовательность – 00100110 или в десятичном 38, с права на лево: первый ноль – двоичный счет, 011 - генератор меандра, 10 - чтение/запись младшего байта, ну и последние 00 – потому что канал 0 используется в системных часах времени суток.

В паскалевском виде это выглядит так:
Port [$43]:=38;

И потом вводим максимальное значение для младшего байта 256:
Port [$40]:=256;

И получаем бешенный таймер smile.gif , только нужно чуток подождать после перепрограммирования таймера система слегка задумается.

Менее шустный таймер у меня пока не получается :p2: – машина виснет. Но ковырять надо RW.
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Shub   Работа с таймером.   9.04.2004 13:30
Altair   А здесь можно узнать, как программировать таймер с…   16.04.2004 10:30
Shub   Спасибо, хоть там и много асма, но сообщения Vespe…   19.04.2004 14:30
Altair   Кстати очень интересную ссылку подкинул Shub, заме…   19.04.2004 18:02
Shub   Попробовал то, что предложил Vesper (имеется в вид…   19.04.2004 21:06
Altair   Хм .... Надо попробовать самому. Я тоже интерисую…   19.04.2004 21:45
Altair   Так, так .... читаем, что тут: http://www.dklab.r…   19.04.2004 22:53
Shub   Так добавлю еще одну ссылку: http://www.vcl.ru/htm…   20.04.2004 12:53
Shub   Мои попытки ускорить таймер потерпели фиаско. Port…   21.04.2004 20:56
Altair   Вот, что у Питера Нортона написано: Т.е. программ…   21.04.2004 23:52
Shub   Е-е-е, получилось. Значиться так: 43h - управляющ…   22.04.2004 13:57
Shub   Сорри, в моем примере надо вводить не 256, а 1, то…   22.04.2004 16:27
Altair   Shub, высший класс! А выше скорость не выйдет,…   22.04.2004 17:36
Guest   Спасибо :), я в курсе, что скорость выше не буде…   22.04.2004 18:17
Altair   нашел.... Пишем модуль для работы с системным тайм…   11.03.2005 2:29
xds   f = 1193180 Гц / c где с = коэффициент деления (ч…   11.03.2005 8:20
xds   Пример программирования таймера (используется для …   11.03.2005 8:45
Aelita   А как переделать Вашу программу, если нужно еще в …   14.11.2010 9:13
Lapp   А как переделать Вашу программу, если нужно еще в …   14.11.2010 13:25
Aelita   Я работаю, как ни странно, под DOS32 (Free Pascal)…   15.11.2010 11:01
Lapp   Я работаю, как ни странно, под DOS32 (Free Pascal)…   15.11.2010 13:17
TarasBer   Что же это за код такой, что его работа так сильно…   15.11.2010 16:59


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.04.2024 11:13
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name