【解决方案】
// ★sys_check_timeouts函数千万不能调用的太频繁, 否则会出错!(后果就是开机后要等1~2分钟DHCP才能分配到IP地址)
if ((uint16_t)(TIM1->CNT - last_check) >= 200) // 如果距离上次检测超过200*0.5ms=100ms
{
last_check = TIM1->CNT;
sys_check_timeouts(); // 则再检测一次
// 当TIM1->CNT < last_check时也能正常判断, 因为两者都是无符号数
// 比如12-9985的结果是55563, 这相当于计算65536+(12-9985)
}