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)