Пример #1
0
void _OS_ReturnSave (void)
{
    _OS_SET_FSR_CUR_TASK();
    _OS_SAVE_PC();
    _OS_Store_TaskSP();
    _OS_bTaskReady = 1;
    _OS_RESTORE_SP();
}
Пример #2
0
void _OS_ReturnSave (void)
{
//    _OS_SET_FSR_CUR_TASK_W(_OS_TASK_POINTER_OFFSET + 1);
    _OS_SET_FSR_CUR_TASK_W(1 + 1);
    _OS_SAVE_PC();
    _OS_bTaskReady = 1;
    _PIC16E_POP();
}
void _OS_ReturnSave (void)
{
    _OS_SET_FSR_CUR_TASK_W(OS_CODE_POINTER_SIZE + _OS_TASK_POINTER_OFFSET);
    _postdec = _fsr1l - _OS_TempH;

    _OS_SAVE_PC();
    _OS_bTaskReady = 1;

    _OS_POP();
}
Пример #4
0
void _OS_ClrReadySetClrCanContinue (void)
{
    _OS_SET_FSR_CUR_TASK();
    _OS_SAVE_PC();
    _OS_PUSH();
    _OS_Store_TaskSP2();

    _OS_Flags.bEventError = 0;
    _OS_bTaskReady = 0;

    #if defined(OS_ENABLE_TTIMERS)
        if (!_OS_bTaskDelay) _OS_bTaskCanContinue = 0;
        if (_OS_Temp & 0x01) _OS_bTaskCanContinue = 1;
    #endif

}
void _OS_ClrReadySetClrCanContinue (void)
{


    _OS_Flags.bEventError = 0;

    _OS_SET_FSR_CUR_TASK_W(OS_CODE_POINTER_SIZE + _OS_TASK_POINTER_OFFSET);
    _postdec = _fsr1l - _OS_TempH;
    _OS_SAVE_PC();
    _OS_bTaskReady = 0;

    #if defined(OS_ENABLE_TTIMERS)
        if (!_OS_bTaskDelay) _OS_bTaskCanContinue = 0;
        if (_OS_Temp & 0x01) _OS_bTaskCanContinue = 1;
    #endif

}
Пример #6
0
void _OS_ClrReadySetClrCanContinue (void)
{
    _PIC16E_POP();

    _OS_Flags.bEventError = 0;

//    _OS_SET_FSR_CUR_TASK_W(_OS_TASK_POINTER_OFFSET + 1);
    _OS_SET_FSR_CUR_TASK_W(1 + 1);
    _OS_SAVE_PC();

    _OS_bTaskReady = 0;

    #if defined(OS_ENABLE_TTIMERS)

        if (!_OS_bTaskDelay) _OS_bTaskCanContinue = 0;
        if (_OS_Temp & 0x01) _OS_bTaskCanContinue = 1;

    #endif
}