// РРРРРРРРРР 8-РРРРРРРРР РРРРРРРР #define OS_TIMERS8 5 // РРРРРРРРРР 16-РРРРРРРРР РРРРРРРР #define OS_TIMERS16 2 // РРРРРРРРРР 24-РРРРРРРРР РРРРРРРР #define OS_TIMERS24 0 // РРРРРРРРРР 32-РРРРРРРРР РРРРРРРР #define OS_TIMERS32 1
ID
ID
enum OSA_TIMERS_ENUM { // 8-РРРРРР T8_TIMER0, T8_TIMER1, T8_TIMER2, T8_TIMER3, T8_TIMER4, // 16-РРРРРР T16_TIMER0, T16_TIMER1, // 24-РРРРРР // 32-РРРРРР T32_TIMER0 };
// РРРРРРРРРРР Р OAScfg.h #define OS_ENABLE_TIMER #define OS_TIMERS8 1 enum OS_TIMERS_ENUM { T8_Timer // РРРРРР РРР РРРРРРРРР РРРРРР РРРРРРР РРРРРР РРРРРР } ---------------------------------------------------------------------- // РРРРРРРР РРРРРРРРР (РРРРРРРРРРРР, РРР РРРРРРРР OS_Timer = 1 ms) OST_MSG msg_cb, msg_cb2; void Task1 (void) { OST_MSG msg; static unsigned long Data; for (;;) { ... OS_Msg_Send(msg_cb, (OST_MSG)&Data); // РРРРР РРРРР РРРРРР Data OS_Msg_Wait(msg_cb2, msg); // РРРР РРРРРРРРРР РРРРРР ... } } void Task_SearchData (void) { OST_SMSG msg; static unsigned long Data; static unsigned long Addr; for (;;) { OS_Msg_Wait(msg_cb, msg); Data = (unsigned long)(*msg); OS_RunTimer(T8_Timer, 10); // РРРРРРРРР РРРРРР РР 10 РР for (Addr = 0; Addr < MAX_ADDRESS; Addr++) { if (MemoryRead(Addr) == Data) { // РРРР РРРРР РРРРРР РРРРРР, OS_Msg_Send(msg_cb2, (OST_MSG)&Addr); // РРРРРРРРР РРРРРРРРР Р РРРРР РР РРРРР break; } if (OS_Oldtimer_Check(T8_Timer)) { // РРРРРР РРРРРРРРРРРР? OS_Yield(); // РРРРРРРР РРРРРРРРРР РРРРРРРРРРРР OS_RunTimer(T8_Timer, 10); // РРРРРРРРР РРРРРР РРРРР } } if (Addr == MAX_ADDRESS) { // РРРР РР РРРРР РРРРРР Addr = 0xFFFFFFFF; OS_Msg_Send(msg_cb2, (OST_MSG)&Addr); // РРРРРРРРРР -1 } } }
msg_cbTask_Search
OS_Timer | ||||
---|---|---|---|---|
1 ms | ||||
10 ms | ||||
18.2 ms | ||||
256 us | ||||
512 us | ||||
1024 us | ||||
2048 us | ||||
4096 us | ||||
8192 us |
OS_Oldtimer_Run8 (timer8_id, time) | appendix | |
OS_Oldtimer_Run16 (timer16_id, time) | appendix | |
OS_Oldtimer_Run24 (timer24_id, time) | appendix | |
OS_Oldtimer_Run32 (timer32_id, time) | appendix | |
OS_Oldtimer_Stop (timer_id) | appendix | |
bool OS_Oldtimer_Check (timer_id) | appendix | |
OS_Oldtimer_Wait (timer_id) | appendixappendixappendix |