Цитата(zltigo @ Dec 15 2008, 10:23)

Правильно, с помощью критической секции. Семафоры для синхронизации задач, как Вы, простите, себе мыслите ждущий семафора обработчик прерывания....
В uC/OSII все
работало вот так:
Код
static int counter = 0;
INT8U err;
OS_EVENT * Uart2Sem;
void Uart2ISR(void){
OSSemPend(Uart2Sem,0,&err);
counter ++;
OSSemPost(Uart2Sem);
}
void SampleTask(void){
for(;;){
OSTimeDlyHMSM(0, 0, 0, 10);
OSSemPend(Uart2Sem,0,&err);
counter--;
OSSemPost(Uart2Sem);
}
}
Сообщение отредактировал elektronshik - Dec 15 2008, 07:43