今天講解STM32F103定時器定時-中斷功能,在昨天定時器延時的軟件工程上添加TIM3定時的功能,你們也可以試著將昨天的工程添加修改得到。
今天的軟件工程下載地址(360云盤):
https://yunpan.cn/cPnJ9KYcXbPsP 訪問密碼 acd8
工程現象:間隔(定時器定時)500ms LED變化一次, 并且串口打印
STM32F103ZE有8個定時器(TIM1 – TIM8), 改工程以TIM3定時為例。
STM32F10x的資料可以在我360云盤下載:
https://yunpan.cn/crBUdUGdYKam2 訪問密碼 ca90
關于TIM延時,我把重要的幾點在下面分別講述,工程中沒有在這里講述的都是之前就有的,重點講述的是主題相關的內容。若不明白,請關注微信公眾號“EmbeddDeveloper”查閱或留言。
現將重點講述關于TIM定時的幾點內容。
一、定時器時鐘
這里的“時鐘配置”函數在bsp.c文件下面;
使能時鐘:RCC_APB1Periph_TIM3。
二、定時器配置
函數在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
+關注
關注
2266文章
10871瀏覽量
354789 -
Tim
+關注
關注
0文章
81瀏覽量
17875 -
STM32F103
+關注
關注
33文章
476瀏覽量
63476
發布評論請先 登錄
相關推薦
評論