AnsweredAssumed Answered

Unexpected interrurpt problem on EPORT 7

Question asked by Riccardo Gennari on May 24, 2012
Latest reply on Nov 15, 2012 by David E Seymour
Hello everyone,
I have this problem in a project on MCF52259.

Using pit0 and pit1 interrupts for the timer and the AD conversion at intervals of 10milliseconds.

use Eport 1 as input interrupt for the management of a keyboard
use Eport 3, 5 and Eport Eport 7 to handle 3 incoming signals required to determine the behavior of my project.

In addition use the devices I2CQSPI, and all the uart interrupt mode with the relative levels of priority as default.

my unexpected  interrupt problem occurs  when on Eport 7 a variation occurs but not all times.
Depending on the expected error in this case occurs on a different task each time.

the chart of tasks is as follows:
 
 
 
TASK_TEMPLATE_STRUCT MQX_template_list[] ={                        // "PARAMETER" "TIME SLICE "{INIT_MICRO_TASK,  init_task,  1500, 9,"initialization", MQX_AUTO_START_TASK, 0, 0},    {TASK_CREATE_STRUCT,  task_struct, 1500, 10, "create_struct", MQX_AUTO_START_TASK,0, 0},    {TASK_CREATE_QUEUE,   task_queue,   1500 ,   12, "TASK_CREATE",  MQX_AUTO_START_TASK,  0,   0},    {TASK_MANAGEMENT, tk_Management,  1500 ,  12, "TASK_MANAGEMENT",0 , 0,  0},    {TASK_MENU_ON_RUN, tk_Menu_On_Run,  2500 ,  12, "TASK_MENU_ONRUN", 0,  0,  0},    {TASK_INQUIRY_DIG_HARWARE,tk_InquiryDigHardware, 1500, 12, "TASK_INQUIRY_HARDWARE", 0   , 0,  0},    {TASK_EXTERNAL_INQUIRY,tk_Inquiry_External_Hardware, 1500,12, "TASK_EXTERNAL_INQUIRY", 0   ,  0,   0},    {TASK_UART0_232, tk_uart_0,    1500 ,  12, "TASK_RS232",    0   ,  0,   0},    {TASK_UART1_485,tk_uart_1,    1000 ,  12, "TASK_RS485",    0   ,  0,   0},    {TASK_UART2_INT,tk_uart_2,    1000 , 12, "TASK_INTCOM",    0   ,  0,   0},    {TASK_SERVICE_BUTTON, tk_button_block, 2000,12, "TASK_BUTTON_SERVICE",  0  ,0, 0},#ifdef USB_TOOL       { USB_TASK      , USB_task,   2500L,  11, "USB"   ,   MQX_AUTO_START_TASK},#endif #ifdef CAN_BUS        { TX_TASK, Tx_Task, 1000L, 7L, "TX task", 0, 0, 0},    { RX_TASK, Rx_Task, 1000L, 7L, "RX task", 0, 0, 0},#endif        {0,              0,            0,    0,  0,            0,              0,   0}

 My feeling is that of being Eport 7 level 7 interrupts and an interrupt occurring while a uart or QSPI has LEVEL lower MQX it can no longer to go back after has been correctly its interrupt to Eport 7.

Can I change the interrupt level related to Eport 7?

Why?

Outcomes