давным-давно создавал тему о scmRTOS, и вот сейчас снова вернулся к ней.
Вопрос про передачу управления от одного процесса другому решился.
К примеру, я пользуюсь функцией Sleep(), которая
Цитата:
|
Эта функция служит для перевода текущего процесса из активного состояния в неактивное. При этом, если функция вызывается с аргументом, равным 0 (или без указания аргумента – функция объявлена с аргументом по умолчанию, равным 0), то процесс перейдет в «спячку» до тех пор, пока его не разбудит, например, какой-либо другой процесс с помощью функции OS::ForceWakeUpProcess(). Если функция вызывается с аргументом (целое число в диапазоне от 1 до 65535), то процесс будет «спать» указанное количество тиков системного таймера, после чего будет «разбужен», т.е. приведен в состояние готового к выполнению.
|
дык вот, предача управления менее приоритетным происходит, процесс "засыпает", а вот обратно отбирать он его не хочет - не "просыпается"...
Передача управления через EventFlag в свою очередь работает как надо...
Прожектик для иар + симуляция в протеусе прилагается.