Таймер на основе аппаратного таймера компьютера.
Автор tsdimа.
Этот топик читают: Гость
Ответов: 2060
Рейтинг: 28
|
|||
карма: 1 |
| ||
файлы: 1 | timerhr.rar [1.6KB] [551] |
Ответов: 5227
Рейтинг: 587
|
|||
необходимость есть конечно но точность удручающая вот схема которую использовал для проверки
code_10239.txt а вот результат ------------ Дoбавленo: да и в такой фигня какая то
вот попытка сделать таймер на штатных компонентах, обжорству процессора можно только позавидовать
|
|||
карма: 4 |
| ||
файлы: 2 | code_10239.txt [718B] [563], timer.png [3.8KB] [819] |
Ответов: 2125
Рейтинг: 159
|
|||
Там ошибка в комментарии к свойству, Interval задаётся в микросекундах!
Неудивительно, что винды не смогли соблюдать интервал в 1 микросекунду |
|||
карма: 1 |
|
Ответов: 2060
Рейтинг: 28
|
|||
tsdima писал(а): Там ошибка в комментарии к свойству, Interval задаётся в микросекундах!Подправил и перезолил. |
|||
карма: 1 |
|
Ответов: 5227
Рейтинг: 587
|
|||
tsdima, я в курсе что в микросекундах, они то мне и нужны, более менее приближённые результаты можно получить от 20 микросекунд.
винда, мать её, неслушает ни фига! |
|||
карма: 4 |
|
Ответов: 8930
Рейтинг: 823
|
|||
andrestudio, посмотреть элемент Спать не судьба? вот что там есть:
var sp,cnt:int64; .. .. QueryPerformanceCounter(sp); //Кол. тиков от момента включения компьютера QueryPerformanceFrequency(cnt); //Частота процессора Ну хоть наносекунды можно мерять |
|||
карма: 19 |
|
Ответов: 5227
Рейтинг: 587
|
|||
Леонид, мне нужны стробы в микросекундах а не задержка. Да и вот такая схема просто вырубается без всяких и баста
code_10254.txt ------------ Дoбавленo: хотя если зделать задержку больше то работает с глюками
|
|||
карма: 4 |
| ||
файлы: 1 | code_10254.txt [787B] [538] |
Ответов: 8930
Рейтинг: 823
|
|||
andrestudio, в схемах кольцо вокруг элемента Sleep, она и должна вылетать.
Стробы в микросекундах тоже чреваты наложением следующего строба на недовыполненную ветку программы и вылетанием А вот измерить эти наносекунды можно через IC или нестандартный компонент с помощью вышеназванных функций можно. |
|||
карма: 19 |
|
Ответов: 5227
Рейтинг: 587
|
|||
Леонид, всем известо что в программировании я даун , мне нужны стробы стабильные хотябы с 10 микросекунд, но для винды скорей всего это не реально (хотя есть драйвера которые работают в windows в real time ), может у Вас есть ещё соображения по этому поводу
|
|||
карма: 4 |
|
Ответов: 8930
Рейтинг: 823
|
|||
andrestudio, да, для Windows это невозможно, хорошо мне пояснил Galkov, а я проверял, Фома неверующий, через два порта - сигнал подавал с СОМ, а принимал через LTP, записывал и потом смотрел - задержки были и по 20 и по 40 миллисек и больше, уже и не помню, давно было
В real time только через буфер, с задержкой на размер буфера, звук, видео. |
|||
карма: 19 |
|
Ответов: 5227
Рейтинг: 587
|
|||
мдя, иллюзии проветрились, всё ухожу в монастырь, поведаем далайламе про HiAsm
|
|||
карма: 4 |
|
Ответов: 2125
Рейтинг: 159
|
|||
andrestudio писал(а): более менее приближённые результаты можно получить от 20 микросекундВообще-то, более менее точные результаты можно получить лишь от 1000 микросекунд Этот компонент создавался несколько с другой целью: он должен вырабатывать некое определённое количество событий в еденицу времени, причём это количество должно было как можно более точно соблюдаться, и чем больше промежуток времени - тем точнее. Например, нужно соблюдать 1.23456789 событий за 10 миллисекунд, тогда в течении 100 миллисекунд будет 12 событий, в секунду 123, за 100 секунд - 12345 событий. Один товарищ никак не мог без такого точного таймера (в котором частота задавалась бы не целым числом) организовать плавное движение картинки под определённым углом ------------ Дoбавленo: andrestudio писал(а): стробы в микросекундах Не секрет, что винда - это не real time OS. Твой процесс она запросто может остановить на пару сотен миллисекунд, сколько стробов ты потеряешь за это время? ------------ Дoбавленo: Тут надо использовать какие-то приблуды, самая простая из которых - звуковая карта... ------------ Дoбавленo: andrestudio писал(а): стабильные хотябы с 10 микросекундМда, 100КГц даже не всякая звуковуха потянет... |
|||
карма: 1 |
|
Ответов: 5227
Рейтинг: 587
|
|||
tsdima, я осознал что это не реально сделать в WINDOWS, делать нечего, буду делать апаратно.
|
|||
карма: 4 |
|
13