We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Thank you in advance. here is the problems: 1. With the same priority, which task (task 1 or task 2) should run first? 2. If interrupt 0 should be reset after task 1 has been triggered? 3. Why task 2 keeps in ready and task 1 keeps in running (Round-Robin problem?)? 4. In RTX 51 full, how can I disable and enable all interrupts at one time? May I do it like what I have done in function_1? 5. I have to mark function_1 as reentrant function? 6. In task1, what is the difference between clear signal (task1) and unclear signal (task1)? void init() _task_ INIT { os_create_task(TASK1); os_create_task(TASK2); os_enable_isr(0); } void int0() interrupt 0 { isr_send_signal(TASK1); } void task1() _task_ TASK1 _pirority_ 1 { while(1) { os_wait(K_SIG+K_TMO,10,0); os_clear_signal(TASK1); /* I have to do this?*/ /* task code*/ function_1(); os_send_signal(TASK2); } } void task2() _task_ TASK2 _pirority_ 1 { while(1) { os_wait(K_SIG+K_TMO, 10, 0); /* task code */ function_1(); } } function_1() large reentrant /* I have to mark it?*/ { EA=0; /* code */ EA=1; }
"4. In RTX 51 full, how can I disable and enable all interrupts at one time? May I do it like what I have done in function_1?" Have you looked at
#pragma DISABLE