配置Timer2位64位定时器,仅计数功能。在使用定时器Timer2的时候发现,低32位计数到0xFF......(接近0xFFFFFFFF)的某个数值,再继续计数超过0xFFFFFFFF,理应到进位1到高32位计数器的,高位变成0x00000001.但是获取两个32位的数值分别是 高位是0,低位是某正常数值。也就是说,低位的进位没有成功。
测试多次统计,每18.8s左右需要进位的时候,进位失败,高位还是0,并未变成1。
获取计数值用的函数是get,返回给一个unsigned longlong,高位地位分别定义两个变量。

定时器配置代码如下,函数用的库里面的,标红的宏定义有修改为03。


每次低位向高位进位后,第一次读取的高位数值是不对的,第二次就是对的,连续都两次才可以。TimerCounterGet执行两次。
请问为什么会出现这个现象呢?