Цитата(grishkin @ Mar 14 2008, 20:37)

В функции обработчике события от будильника нужно сделать задержку, cyg_thread_delay не работает, есть ли ещё вызовы с помощью которых можно сделать задержку?
cyg_thread_delay в контексте DSR вызывать нельзя. А именно в нем вызывается обработчик будильника если он завязан с системным таймером. Я так понимаю, что раз cyg_thread_delay не работает, то в качестве счетчика используется системный таймер.
Для задержки в DSR можно использовать CYGACC_CALL_IF_DELAY_US() или HAL_DELAY_US(). Задержка в микросекундах.
Но вообще-то не рекомендую делать задержку в DSR (тем более такую большую как при cyg_thread_delay). Пока работает эта задержка не будут выполнятся другие DSR и естественно потоки. Лучше в обработчике будить какой-нибудь поток и в нем уже выполнять всю работу.