今天講解STM32F103定時器定時-中斷功能,在昨天定時器延時的軟件工程上添加TIM3定時的功能,你們也可以試著將昨天的工程添加修改得到。
今天的軟件工程下載地址(360云盤):
https://yunpan.cn/cPnJ9KYcXbPsP 訪問密碼 acd8
工程現(xiàn)象:間隔(定時器定時)500ms LED變化一次, 并且串口打印
STM32F103ZE有8個定時器(TIM1 – TIM8), 改工程以TIM3定時為例。
STM32F10x的資料可以在我360云盤下載:
https://yunpan.cn/crBUdUGdYKam2 訪問密碼 ca90
關(guān)于TIM延時,我把重要的幾點(diǎn)在下面分別講述,工程中沒有在這里講述的都是之前就有的,重點(diǎn)講述的是主題相關(guān)的內(nèi)容。若不明白,請關(guān)注微信公眾號“EmbeddDeveloper”查閱或留言。
現(xiàn)將重點(diǎn)講述關(guān)于TIM定時的幾點(diǎn)內(nèi)容。
一、定時器時鐘
這里的“時鐘配置”函數(shù)在bsp.c文件下面;
使能時鐘:RCC_APB1Periph_TIM3。
二、定時器配置
函數(shù)在timer.c文件下面;
詳見每一句后面都有注釋。
三、定時函數(shù)
函數(shù)在timer.c文件下面;
主要是定時ON 和OFF函數(shù),至于為什么是定時ms,這里請參考昨天的講解。
大致意思:TIM每秒計數(shù)1M次(系統(tǒng)時鐘72M, 72分頻),計數(shù)滿1000次一個周期,也就是1usX 1000 = 1ms
見timer.h里面的宏定義:TIM3_COUNTER_CLOCK、TIM3_PRESCALER_VALUE、TIM3_PERIOD_TIMING
由這幾個宏定義決定延時時間。
四、NVIC配置
函數(shù)在bsp.c文件下面;
今天的軟件工程使用了中斷,因此添加NVIC配置.
五、TIM3中斷函數(shù)
函數(shù)在stm32f10x_it.c文件下面;
主要是處理TIM3定時器中斷。
六、主函數(shù)應(yīng)用
函數(shù)在main.c文件下面;
(定時器)定時500ms跳變LED、打印(發(fā)送)字符串。
上面“gTIMTiming_Nms_FlagOver”標(biāo)志在第五點(diǎn)。
-
STM32
+關(guān)注
關(guān)注
2270文章
10895瀏覽量
355743 -
Tim
+關(guān)注
關(guān)注
0文章
81瀏覽量
17893 -
STM32F103
+關(guān)注
關(guān)注
33文章
477瀏覽量
63600
發(fā)布評論請先 登錄
相關(guān)推薦
評論