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; 还是强行让系统复位? |
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |