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