STM32設定核心定時器延時us

2021-10-22 15:40:59 字數 634 閱讀 1945

1.查詢系統嘀嗒定時器,根據

《stm32f4xx-cortex_-m4核心參考手冊.pdf》來檢視暫存器,

並結合core_cm4.h。

系統定時器的時鐘源=21hz,完成21000000次計數的時候,就代表說1秒時間的到達。

21000000/1000000=21,也代表說只要完成21次計數就是1微秒的時間。systick->load決定了延時的時間。

sttm32f407為例,用暫存器寫延時函式:

需要注意的是把stm32f4xx.**件中的hse修改為8000000,引數因子pll_m修改為8

時鐘源**於21 hz

最大延時時間= 2*24 1 -21000000= 798.91ms.

時鐘源**於168 hz

最大延時時間= 2^24 -168000000= 99.86ms.

如果要實現5000ms延時的話,可以對上面進行改造,500ms的整數倍延時都可以

void

delay_us

(uint32_t nus)

if(n)

}

如果固定使用168000000的系統時鐘,可以用systemcoreclock來代替168000000.

stm32關定時器 STM32定時器TIM3程式

include led.h include delay.h include key.h include sys.h include usart.h include timer.h stm32開發板實驗8 定時器中斷實驗 int main void delay init 延時函式初始化 nvic co...

stm32定時器的基本設定

定時器的基本設定 1 tim timebasestructure.tim prescaler 7199 時鐘預分頻數 例如 時 鐘頻率 72 時鐘預分頻 1 2 tim timebasestructure.tim period 9999 自動重裝載暫存器週期的值 定時 時間 累計 0xffff個頻率...

STM32定時器溢位模式設定

stm32定時器溢位模式設定 環境 主機 win7 開發環境 mdk4.23 mcu stm32f103cbt6 源 1 說明 定時器採用tim2,時鐘源為內部8m晶振,向上溢位模式.此定時器用在延時函式,最小可以延時1us,故沒有採用中斷形式定時.初始化 cpp view plain copy r...