This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

some trouble whith the use of isr_send_signal()

HI,
I think I have some trouble whith the use of isr_send_signal(), if the task is already in "active state".
Please can you tell me what happend in this case :

* Interrupt 0 each 100 ms
* some times, the fonction mesure()take more time than 100 ms :

/* my exemple*/ :
void task_1 (void)  _task_ MESURE_priority_ 1
{
char i;
while (1)
	{
	i=os_wait(K_SIG,0,0);
	if(i==3)
	        {
		os_clear_signal(EVT_1);
		Mesure();
		}
	}
}

void itext0(void) interrupt 0 using 1
{
...
isr_send_signal(EVT_1);
...
}

  • HI,
    I think I have some trouble whith the use of isr_send_signal(): A task is already in a "active state" at the same time when isr_send_signal() to start this task is effective.
    Please can you tell me what happend in this case :

    * Interrupt 0 each 100 ms. This programm use 'isr_send_signal' to start task_1, so the mesure() fonction is called each 100 ms.


    * But some times, the fonction mesure() takes a little more time than 100 ms : So what happends !


    /* my example*/ :
    void task_1 (void)  _task_ MESURE_priority_ 1
    {
    char i;
    while (1)
    	{
    	i=os_wait(K_SIG,0,0);
    	if(i==3)
    	        {
    		os_clear_signal(EVT_1);
    		Mesure();
    		}
    	}
    }
    
    void itext0(void) interrupt 0 using 1
    {
    ...
    isr_send_signal(EVT_1);
    ...
    }
    
    

    Thankyou for somebody HELP !