This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP-EXP432E401Y: SysTick Interrupt stopped in its service routine

Part Number: MSP-EXP432E401Y

Hi,

I am writing delay/sleep routine using SysTick driverlib APIs with interrupt in MSP-EXP432E401Y under TI-RTOS as follows.

  1. enable UART (XDS110), open it, get date string to set current time

  2. set current time with hibernation calendar function to check delay/sleep time is correct.

  3. initialize SysTick Interrupt

But its interrupt service routine does not work properly. It seems stop (jump into infinite loop).

Here is the code I wrote:

    uart0 = UART_open(CONFIG_UART_0, &uart0Params);
    if (uart0 == NULL) {
        // UART_open() failed
        while (1);
    }
    memset(dateString, 0x00, sizeof dateString);
    UART_write(uart0, echoPrompt, strlen(echoPrompt));

    // set the calendar
    memset(dateString, 0x00, sizeof dateString);
    UART_read (uart0, dateString, 17);          //YYYYMMDD hhmmss w

    DateTimeFillTM(dateString);                 // Set current time using hibernation calendar 
    DateTimeSet();

    mTicks = 0;
    period = g_systemClock / 1000;              // cycles for milliseconds

    SysTickPeriodSet(period);                   // SysTick Interrupt Enable
    SysTickEnable();
    SysTickIntEnable();
    IntMasterEnable();

    i = 0;
    while(1)
    {
        delay_ms(2000);                         // 2 sec sleep

        GPIO_toggle(CONFIG_GPIO_LED_0);

        i++;
    }
}

void SysTick_Handler(void)
{
    ++mTicks;
}

void delay_ms(uint32_t n)
{
    while(mTicks < n)
        ;
    mTicks = 0;
}

SysTick Interrupt has any conflict with UART Driver ?

Please advise me how to solve this problem.

Any help/tips are appreciated in advance.

HaeSeung