L
LOSTISLAND
Guest
Bună tuturor, am crezut ca numai diferențele dintre un mutex și un semafor sunt count (Capability Semafor) și inversiune prioritate (mutex Capability). Astăzi, am întâlnit ceva ciudat, care poate este legat de capacitatea de inversiune prioritate sau altceva. Noțiuni de bază și eliberarea mutex sau semafoare între diferite sarcini este clar, dar când le-am folosi în doar o singură sarcină, comportamentul lor este diferit. Using semafor sarcina este blocat, dar folosind mutex sarcina nu este blocat. Imaginați-vă că este doar o sarcină sunat APP_TestTask
[COD] _task nule APP_TestTask (void) {pentru (;
{os_dly_wait (20); os_mut_wait (Mut_Test, 0xFFFF); os_mut_release (Mut_Test); os_mut_wait ( Mut_Test, 0xFFFF); os_mut_wait (Mut_Test, 0xFFFF); Test_Function ();}} [/CODE] E ceva natural sau un bug? Multumesc în avansate
Code:
__task nule APP_TestTask (void) {pentru (; ;) {os_dly_wait (20); os_sem_wait (Sem_Test, 0xFFFF); os_sem_send (Sem_Test); os_sem_wait (Sem_Test, 0xFFFF); os_sem_wait ( Sem_Test, 0xFFFF); Test_Function ();}}