Уважаемые господа! Прошу помочь новичку, требуется написание кода на 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)
Что не так делаю?(