Vit (02.12.2007 13:28, просмотров: 159) ответил Evgeny_CD на Да нет, для этого надо владеть метапрограммированием.
Пример, как выглядит получалка букафф из буфера в неожидающей функции [code]
while(1){
ch = RS0_getchar();
while(ch == EOF){
TICK_YIELD();
if(BASETIMER_Elapsed(TimeBegin)> xtimeout){
retval = ERR_TIMEOUT;
dp = 0;
TICK_BREAK();
}
ch = RS0_getchar();
}
....
//тут обработчик(и) потока
...
}
[/code]
TICK_YIELD(); точка выхода/входа из функции,
TICK_BREAK(); точка выхода со сбросом состояния