Уважаемые господа! Прошу помочь новичку, требуется написание кода на C++ с использованием JacOS для микроконтроллера MSP430 (компилятор IAR 3.42), от Salvo RTOS отказался по причине недоступности, а от scmRTOS - слишком прожорливы прерывания, что не есть вери гуд, к тому же требуется корпоративность.. Взяв пример на С Jacos, заработало сразу и без проблем, но при попытке создать тот же код в классе возникает проблема, что именно не так было сделано?
на С:
OST_TASK_T task1;
__task void T_1(void) { while (1) { OS_Delay(2); } }
int main(void) { OS_Init(); OS_Task_Create(T_1, &task1); while (1) { OS_Scheduler(); } }
Теперь при попытке тот же код впихнуть в класс компилер начинает ругаться
class TClass{ OST_TASK task; public: __task void Task(void); TClass(){ OS_Task_Create(Task, &task); }; };
__task void TClass::Task(void){ while(1){ OS_Delay(100); } }
Error[Pe167]: argument of type "void (__code __task TClass::*)()" is incompatible with parameter of type OST_FUNC заменив на __task void Task(void); на OST_FUNC Task; // OST_FUNC - указатель на функцию
Продолжает ругаться Error[Pe147]: declaration is incompatible with "OST_FUNC TClass::Task" (declared at line 11)
Что не так делаю?(
|