Stm32學習(九)時鐘中斷實驗

2021-10-08 06:12:02 字數 984 閱讀 4913

通過定時器中斷配置,每500ms中斷一次,然後中斷服務函式中控制led實現led1狀態取反(閃爍)。

tout(溢位時間)=(arr+1)(psc+1)/tclk

1.定時器中斷實現步驟

(1)能定時器時鐘

rcc_apb1periphclockcmd();
(2)初始化定時器,配置arr,psc

tim_timebaseinit();
(3)開啟定時器中斷,配置nvic

void tim_itconfig();

nvic_init();

(4)使能定時器

tim_cmd();
(5)編寫中斷服務函式

timx_irqhandler();
main.c

#include "key.h"

#include "led.h"

#include "timer.h"

#include "sys.h"

#include "delay.h"

int main(void)

}

timer.c

#include "timer.h"

#include "led.h"

void tim3_int_init(u16 arr,u16 psc)

void tim3_irqhandler(void) //tim3 中斷

}

timer.h

#ifndef __timer__

#define __timer__

#include "sys.h"

void tim3_int_init(u16 arr,u16 psc);

#endif

stm32時鐘系統中斷處理

中斷對於開發嵌入式系統來講的地位絕對是毋庸置疑的,在c51微控制器時代,一共只有5個中斷,其中2個外部中斷,2個定時 計數器中斷和乙個串列埠中斷,但是在stm32中,中斷數量大大增加,而且中斷的設定也更加複雜。今天就將來 一下關於stm32中的中斷系統。1 基本概念 arm coetex m3核心共...

STM32時鐘配置

大家都知道在使用微控制器時,時鐘速度決定於外部晶振或內部rc振盪電路的頻率,是不可以改變的。而arm的出現打破了這一傳統的法則,可以通過軟體隨意改變時鐘速度。這一出現讓我們的設計更加靈活,但是也給我們的設計增加了複雜性。為了讓使用者能夠更簡單的使用這一功能,stm32的庫函式已經為我們設計的更加簡單...

STM32時鐘系統

下面我們根據這張圖說說有關stm32時鐘系統的那些事 io uint32 t cr hsi,hse,css,pll等的使能和就緒標誌位 io uint32 t cfgr pll等的時鐘源選擇,分頻係數設定 io uint32 t ahbenr dma,sdio等時鐘使能 io uint32 t ap...