如何将 32 位变量用于 16 位定时器寄存器?

How to use 32 bit variable for 16 bit TIMER register?

如果需要编写一个函数,将 32 位变量作为参数并将其分配给 16 位定时器寄存器(嵌入式目标具有 16 位分辨率定时器,我们需要处理 32 位值以增加定时器中断的解决方案) - 如何做到这一点?

您可以使用 16 位定时器触发使用 16 位软件计数器的中断。每次中断时增加这个值。当它溢出或达到目标计数时,您可以为主程序循环设置一个标志来执行某些操作。

to increase the resolution of the timer interrupt

您不能增加分辨率,它是 16 位并且定时器硬件预分频器设置了分辨率限制。

不过,通过改变时钟源振荡器的质量,您或许应该获得更好的准确性