程序如下:
当定时配置按照如下配置
TIClockParams.period = 0;
TIClockParams.startFlag = FALSE;
Clock_construct(&TIClockStruct,TimeoutCallBack, 1, &TIClockParams);
TIClockHandle = Clock_handle(&TIClockStruct);
同时使用下列函数开始定时
Clock_setTimeout(TIClockHandle,LOCAL_CONFIG_TIMER_MS(LOCAL_CONFIG_TIMER_TIMER0));
Clock_start(TIClockHandle);
中断函数如下:
void TimeoutCallBack(UArg TIUarg)
{
UART_write(TIUart,"A",1);
Clock_start(TIClockHandle);
}
中断函数总是无法稳定的工作,请问这是什么问题?
如果这种方式不对能不能提供其他的定时代码?
xyz549040622:
你的中断时间是多少了,很可能UART_write(TIUart,"A",1);发送的时间都超过了你的中断时间,所以不稳定了。
Steven.Lee:
回复 xyz549040622:
什么叫中断时间?我应该在哪个地方看到这个配置?
Steven.Lee:
回复 Felix ZF:
UART_write()函数放在中断函数里面确实有问题,我实验过,别的中断函数里面也是。TI-RTOS初始化的任务堆栈是不是太小了导致的?