工具与软件:
您好!
我让 SysTick 以800000/1024的周期运行、以每秒获取1024个周期、而我的 SysTickIntHandler 会:
void SysTickIntHandler(void) {
g_ui32SysTickCount++;
if(g_ui32SysTickCount % 1024 == 0) { g_ui32PosixTime++; g_ui32SysTickCount = 0; }
}
因此、POSIX_TIME 为秒、系统节拍计数介于0至1023之间
我还将使用 USB 串行以纳秒的时间发送 POSIX 时间数据包、我想与微控制器同步时间。
是否可以用任何方法将 SysTick 计数器重表示法时间复位、或者更好地将其设置为给定的值?
在外设参考的第536页中、显示:
"调用此函数不会导致 SysTick 计数器立即重新加载。 则该位为1
需要重新加载、必须写入 NVIC_ST_CURRENT 寄存器。 对该寄存器的任何写入
将 SysTick 计数器清零、并导致重新加载此处提供的 ui32Period
启用 SysTick 后的下一个时钟。"
因此、我想知道是否有任何方法可以将 计时器设置为给定的值。
此致、
CAN
