- UID
- 1061700
|
stm32设置系统滴答计时器每10ms中断一次,给系统提供时基
void SysTick_Handler(void)
{
/* Update the LocalTime by adding SYSTEMTICK_PERIOD_MS each SysTick interrupt */
LocalTime += SYSTEMTICK_PERIOD_MS;
}
这个Locatime 是个32位整形,SYSTEMTICK_PERIOD_MS=10
我计算了下2^32=4294967296,4294967296/1000/60/60/24==49.7天 如果这49天单片机都没复位的话,大概49天后,这个Locatime就会溢出了,
怎么解决这个问题啊?
有人想过这个问题了吗?
要不加一句
if(LocalTime >4294967000)LocalTime=0;
还是强行让系统复位?
|
|
|