L
LOSTISLAND
Guest
Sveiki visi, aš maniau, tik skirtumai tarp Semaforas ir semaforas skaičius (Optinis Telegrafas gebėjimai) ir prioritetas inversija (Semaforas gebėjimai). Šiandien, aš susidūrė kažką keisto, galbūt yra susijęs su prioriteto inversijos pajėgumus ar kažkas. Gauti ir atleidžiantis Semaforas arba semafory tarp įvairių užduočių, yra aiškus, tačiau, kai aš naudoju juos tik vieną užduotį, jų elgesys yra skirtingas. Naudojant semaforas užduotis yra užrakintas, tačiau naudojant Semaforas užduotis neužrakinta. Įsivaizduokite, kad yra tik viena užduotis, vadinamas ir APP_TestTask
Ar tai kažkas fizinis ar klaida? Ačiū "Advanced
Code:
__task negalioja APP_TestTask (tuščia) {for (; ;) {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 ();}}
Code:
_Task negalioja APP_TestTask (tuščia) {for (;) {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 ();}}