很痛心这个内容下的帖子都是一大串文字,怎能让人明白,所以先贴图为敬。
当ARPE=0,也就是不进行预装载,ARR立刻更新,CNT溢出的值也随之更新,比如ARR从A0更新至B0,而此时CNT的值为90,CNT将不再至A0溢出,而是在B0溢出。
当ARPE=1,也就是进行预装载时,ARR任然会立即更新,但是自动重装影子寄存器则不会立即更新,此时真正起作用的也是影子寄存器。只有在当前CNT溢出一次后,影子寄存器才会发生更新。
当然其实对十几万HZ的时钟而已这一点误差是可有可无的,甚至不会超过几微妙,但是有这样的功能总比没有好。