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

isr_evt_set make a hard fault

when I use ARTX with liuminary's LM3S8962
in ISR if I use isr_evt_set, it run into hard fault,if not use the function,it run ok,i don't know why,can I get help?

void key_int_isr( void )  __irq
{

        /* Clear the interrupt. */
           GPIOPinIntClear(GPIO_PORTE_BASE, KEY1);

          GPIOPinWrite(GPIO_PORTA_BASE, BEEP,0); //beep on
       delay(20000);

       GPIOPinWrite(GPIO_PORTA_BASE, BEEP, BEEP);//beep off
           keyflag=1;
          // isr_evt_set (EVT_KEY, t_key);     //Send event to 'handle_key_task'
}

Parents
  • beep and delay() are only for test the isr.
    in my who program,there three tasks,include t_task,if I use os_evt_set() in a task,t_task work well, if delete the os_evt_set statment,the isr work well. I have ever used FreeRTOS, in isr ,it must set to not switch task, so I guess the ARTX's os_evt_set also need the function.

Reply
  • beep and delay() are only for test the isr.
    in my who program,there three tasks,include t_task,if I use os_evt_set() in a task,t_task work well, if delete the os_evt_set statment,the isr work well. I have ever used FreeRTOS, in isr ,it must set to not switch task, so I guess the ARTX's os_evt_set also need the function.

Children