如题,低功耗定时器正在计数的过程中,需要重新计时,此时修改:
M0P_LPTIMER0->CR_f.TR = 0;
for(timeout = 1000; (timeout > 0) && !M0P_LPTIMER0->CR_f.WT_FLAG; timeout--);
M0P_LPTIMER0->ARR_f.ARR = preload;
M0P_LPTIMER0->CR_f.TR = 1;
按照HC32L136的资料,preload必须小于0xfffb. 当我计时6个时钟的时候,preload = 0xfffa, 中断正常。但是测量输出波形,发现实际是9个时钟,额外多了3个时钟。 进一步测试: 输出一组方波, 高脉宽20个脉冲,低脉宽8个时钟。测试输出波形,高脉宽为23个时钟, 低脉宽为11个时钟。
请问, 低功耗定时器 从写入ARR到装载成功,内部花费了3个时钟周期?
|