今天講解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)注
2313文章
11195瀏覽量
374754 -
Tim
+關(guān)注
關(guān)注
0文章
85瀏覽量
19130 -
STM32F103
+關(guān)注
關(guān)注
34文章
497瀏覽量
68236
發(fā)布評論請先 登錄
瑞薩RA系列FSP庫開發(fā)實戰(zhàn)指南之使用GPT基本定時功能實驗
基于STM32F103C8T6的智能超聲波測距尺:從原理到代碼的完整實現(xiàn)
串口中斷和定時中斷,外部中斷在一起如何調(diào)用?
LAT1202+TIM DMA burst 輸出變頻 PWM 波形應(yīng)用筆記
CW32定時器及中斷介紹
單片機(jī)定時器中斷
脈沖編碼器TIM3中斷不生效是怎么回事?
HRTIM可以通過TIM1觸發(fā)一個50ns到100ns的短脈沖嗎
基于 AS32X601 微控制器的定時器模塊(TIM)技術(shù)研究與應(yīng)用實踐
為什么定時器會在stm32進(jìn)行啟動文件配置的時候進(jìn)入中斷了?
STM32F405RGT6 ADC2+TIM4觸發(fā)+DMA(DMA2_Stream2_CH1)+DMA中斷會死機(jī),怎么解決?
第二十二章 TIM——高級定時器
第二十一章 TIM——通用定時器
WIZnet W55MH32以太網(wǎng)單片機(jī)開發(fā)教程第十一章 通用定時器(下篇)
STM32_TIM定時- 中斷
評論