定時器中斷實驗

2021-08-07 09:58:03 字數 1776 閱讀 1614

常用庫函式:定時器引數初始化

void

tim_timebaseinit

(tim_typedef

* timx,

tim_timebaseinittypedef

* tim_timebaseinitstruct);

typedef

struct

tim_timebaseinittypedef

--定時器使能函式:

void

tim_cmd

(tim_typedef

*timx

, functionalstate

newstate)

--定時器中斷使能函式:

void

tim_itconfig

(tim_typedef

*timx

, uint16_t tim_it,

functionalstate

newstate);

--狀態標誌位獲取和清除

flagstatus

tim_getflagstatus

(tim_typedef

*timx

, uint16_t tim_flag);

void

tim_clearflag

(tim_typedef

*timx

, uint16_t tim_flag);

itstatus

tim_getitstatus

(tim_typedef

*timx

, uint16_t tim_it);

void

tim_clearitpendingbit

(tim_typedef

*timx

, uint16_t tim_it);

--定時器中斷實現步驟:

①能定時器時鐘。

rcc_apb1periphclockcmd();

② 初始化定時器,配置

arr,psc。

tim_timebaseinit

();

③ 開啟定時器中斷,配置

nvic。

void

tim_itconfig

();

nvic_init

();

④ 使能定時器。

tim_cmd

();

⑥ 編寫中斷服務函式。

timx_irqhandler

();

tout

(溢位時間)=(

arr+1)(psc+1)/

tclk

通過定時器中斷配置,每

500ms

中斷一次,然後中斷服務函式中控制

led實現

led1

狀態取反(閃爍)。

void tim3_int_init(u16 arr ,u16 psc)

void tim3_irqhandler(void)

}int main(void)

定時器中斷實驗

今天看了並實際做了一次正點原子的定時器中斷實驗,實驗結果並不重要,這部分教程的意義在於讓我們學會如何去配置乙個定時器中斷。想要使用定時器中斷,我們要進行各種配置,將它們整合到乙個初始化函式裡,在這個函式中我們要做的事主要有 1.定義nvic和定時器初始化的結構體。2.使能定時器時鐘。3.配置nvic...

中斷和定時器實驗

實驗五 中斷和定時器實驗 姓名 鄭旅軍學號 0656061 指導老師 鄒慧蘭成績 如有疑問,請zlj800800 163.com 題目 通過外部中斷0,觸發乙個延時過程,假定延時時間為1秒,延時期間可以點亮乙個led或讓蜂鳴器發出聲音。已知微控制器晶振頻率為6 00mhz。可以使用定時器中斷,也可以...

外部中斷與定時器中斷實驗

已知微控制器晶振頻率為12mhz,自行選取定時 計數器,定時 計數器工作方式自選,編寫程式,使p1.7端輸出週期為0.5ms方波。解題思路 假設方波訊號的占空比為50 已知條件可以得,機器週期為1us,所以決定採用t0定時,工作方式0,已知輸出週期為0.5ms,則每定時0.25ms計數使p1.7輸出...