STM32 TIM定時 中斷

2021-07-11 15:07:05 字數 1622 閱讀 5905

今天講解stm32f103定時器定時-中斷功能,在昨天定時器延時的軟體工程上新增tim3定時的功能,自己也可以試著將昨天的工程新增修改得到。

訪問密碼 acd8

工程現象:間隔(定時器定時)500ms led變化一次, 並且串列埠列印

stm32f103ze有8個定時器(tim1 – tim8), 改工程以tim3定時為例。

訪問密碼 ca90

現將重點講述關於tim定時的幾點內容。

一、定時器時鐘

使能時鐘:rcc_apb1periph_tim3。

二、定時器配置

這裡的「時鐘配置」函式在bsp.c檔案下面;

函式在timer.c檔案下面;

詳見每一句後面都有注釋。

三、定時函式

函式在timer.c檔案下面;

主要是定時on 和off函式,至於為什麼是定時ms,這裡請參考昨天的講解。

大致意思:tim每秒計數1m次(系統時鐘72m,  72分頻),計數滿1000次乙個週期,也就是1usx 1000 = 1ms

見timer.h裡面的巨集定義:tim3_counter_clock、tim3_prescaler_value、tim3_period_timing

由這幾個巨集定義決定延時時間。

四、nvic配置

函式在bsp.c檔案下面;

今天的軟體工程使用了中斷,因此新增nvic配置.

五、tim3中斷函式

函式在stm32f10x_it.c檔案下面;

主要是處理tim3定時器中斷。

六、主函式應用

函式在main.c檔案下面;

(定時器)定時500ms跳變led、列印(傳送)字串。

上面「gtimtiming_nms_flagover」標誌在第五中斷

STM32 TIM延時講解

今天講解stm32f103定時器延時功能,tim的功能很強大,後續慢慢講解。今天從簡單開始講解定時器,以下面軟體工程例項來講述。訪問密碼 6f12 工程現象 間隔 定時器延時 500ms led變化一次,並且串列埠列印 stm32f103ze有8個定時器 tim1 tim8 這裡工程使用tim4為例...

STM32 TIM 定時時間的計算

假設 系統時鐘是72mhz,tim1 是由pclk2 72mhz 得到,tim2 7是由 pclk1 得到 關鍵是設定 時鐘預分頻數,自動重裝載暫存器週期的值 每1秒發生一次更新事件 進入中斷服務程式 rcc configuration 的systeminit 的 rcc cfgr uint32 t...

STM32 TIM觸發ADC 定時取樣 筆記

用tim3的update觸發adc,只需勾選internal clock就可以了 adc設定,關鍵是選tim3 trigger out,圖中continuous coversion mode 應該選disable tim3 設定時間間隔然後關鍵選update event 程式 記得開啟tim3 ha...