常用庫函式:定時器引數初始化
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輸出...