1. 程式人生 > >stm8l定時器中的ARPE

stm8l定時器中的ARPE

bit enabled 不同 err ear pre 寫入 作用 sha

• Auto-reload preload enabled (ARPE bit set in the TIM1_CR1 register). In this mode,
when data is written to the auto-reload register, it is kept in the preload register and
transferred into the shadow register at the next update event (UEV).
• Auto-reload preload disabled (ARPE bit cleared in the TIM1_CR1 register). In this

mode, when data is written to the auto-reload register it is transferred into the shadow
register immediately.

我的理解是,當前0到10000計數,計的過程中,若修改了ARR的值。則有不同行為

1. ARPE=1時, 把設置的新值放到一個預加載寄存器,等到計到10000時,產生UEV事件,UEV事件會導致預加載寄存器的值寫入ARR。也即當前計完,再說新的。

2. ARPE=0時,把設置的新值直接放到ARR裏,這樣的話,當前的計時周期就可能有問題,比如說,計到300,突然由10000改為1000。則計到1000就直接更新了。這個結果可能不是我們想要的。

所以,默認來說ARPE=1還是有用的。當然對運行過程中從來不改變ARR的程序,該設置起不到任何作用。

stm8l定時器中的ARPE