本文將介紹通過使用通用定時器的輸入捕獲功能來記錄按鍵按下的時間,并通過串口調(diào)試工具打印出按鍵按下的時間;
編譯調(diào)試工具:keil、cubemx
①使用STM32CUBEMX配置工程文件
②代碼實現(xiàn)
①使用STM32CUBEMX配置工程文件
Step1:配置TIM2,選擇內(nèi)部時鐘掛載在APB1總線上、選擇通道1、選擇輸入捕獲、輸入預(yù)分頻數(shù)、設(shè)置計數(shù)值;設(shè)置輸入捕獲為下降沿捕獲
Step2:使能RCC時鐘,選擇外部晶振;配置時鐘樹
Step3:設(shè)置優(yōu)先級分組、設(shè)置優(yōu)先級
Step4:配置串口USART3、用于調(diào)試打印日志
Step5:生成工程文件
②代碼實現(xiàn)
Step1:輸出重定向、添加頭文件
Step2:從啟動文件一層一層尋找輸入捕獲的中斷服務(wù)函數(shù)
進入啟動文件找到TIM2的中斷向量地址:
Goto define of TIM2_IRQHandler ......:
Goto define of HAL_TIM_IRQHandler......:
Step3:重定義輸入捕獲函數(shù)對應(yīng)的中斷服務(wù)函數(shù)
HAL_TIM_IC_CaptureCallback:
Step4:重定義計數(shù)器溢出對應(yīng)的中斷服務(wù)函數(shù)
Step5:在主函數(shù)中啟動定時器和輸入捕獲:
Step6:編譯運行
-
晶振
+關(guān)注
關(guān)注
34文章
2866瀏覽量
68036 -
時鐘
+關(guān)注
關(guān)注
10文章
1733瀏覽量
131480 -
定時器
+關(guān)注
關(guān)注
23文章
3248瀏覽量
114800 -
串口
+關(guān)注
關(guān)注
14文章
1554瀏覽量
76516 -
stm32cubemx
+關(guān)注
關(guān)注
5文章
283瀏覽量
14809
發(fā)布評論請先 登錄
相關(guān)推薦
評論