реклама на сайте
подробности

 
 
> MSVC задать задержку МЕНЕЕ мс, Кроме Sleep( x ) Win32API
k155la3
сообщение Nov 14 2017, 17:40
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 123
Регистрация: 8-03-09
Из: Днепр
Пользователь №: 45 848



PC, Windows-XP, MSVS-2008
----
Есть простая задача реализовать на базе LPT интерфейс SPI методом ногодрыга.
Все в общем-то работает, но вопрос в организации временных задержек.
Код
while   // небольшая частота - сотни - тысячи Гц
{    _outp(0x378, 0x00);
    Sleep(1);
    _outp(0x378, 0xFF);    
    Sleep(1);
}


Код
while   // большая частота (период порядка единиц-десятков мкс)
{
    _outp(0x378, 0x00);
    _asm { nop };
    _asm { nop };
    _asm { nop };
    _outp(0x378, 0xFF);    
    _asm { nop };
    _asm { nop };
    _asm { nop };
}
(понятно, что в этот цикл периодически вмешивается планировщик OS)


(?) реализация задержек на _asm { nop } не по феншую.
Меня бы устроила скорость ногодрыга 2-20 кГц

Каким образом правильнЕЕ организовывать задержки ?
(Win32API)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th August 2025 - 08:16
Рейтинг@Mail.ru


Страница сгенерированна за 0.01551 секунд с 7
ELECTRONIX ©2004-2016