步驟1:在STM32CubeMX中創(chuàng)建項目
打開STM32CubeMX。點擊“新建項目”。從系列選擇‘STMF1’,從‘線’選擇STM32F103。從MCU列表中,選擇“STM32F103RBTx”。單擊“確定”。
[1]
現(xiàn)在,需要完成兩件事。首先,在STM32板上顯示的STM32微控制器上,單擊“PA5”并選擇“GPIO_Output”。其次,在Peripherals選項卡下的‘TIM1’選項卡下選擇‘Internal Clock’作為‘Clock Source’,如圖所示:
[2]
現(xiàn)在,切換到配置選項卡。在“控件”下,您將看到“TIM1”按鈕。單擊它,您將看到如下窗口:
[3]
現(xiàn)在,在此計數(shù)器設置下的“參數(shù)設置”選項卡(已選中)中選擇‘預分頻器(PSC) - 16位值)’。在此之前,您將看到一個下拉箭頭(在下圖中紅色箭頭指示的位置),點擊它。確保選中“十進制”。并將其值從“0”更改為“64000”。
[4]
將計數(shù)器模式更改為“關閉”。再次選擇Counter Period,單擊前面的下拉箭頭,確保選中‘Decimal’。現(xiàn)在,將其值更改為1.您的窗口必須如下所示:
[5]
單擊“應用”,然后單擊“確定”。
現(xiàn)在,在“系統(tǒng)”選項卡下單擊“GPIO”按鈕。選擇“PA5”并在“用戶標簽”中輸入“Ld2”。
現(xiàn)在,在“系統(tǒng)”選項卡下單擊“NVIC”按鈕。從中斷表中選擇“TIM1 break interrupt”,啟用它并將Preemption Priority設置為“1”。對“TIM更新中斷”執(zhí)行相同操作。因此,現(xiàn)在您的窗口應如下所示:
[6]
現(xiàn)在,單擊“生成代碼”按鈕。項目名稱中的Fil,保存項目和“工具鏈/IDE”的位置選擇“MDK-ARM V5”。然后單擊“確定”。然后單擊“打開項目”。
一旦Project為在Keil中打開,打開位于‘Project/User’文件夾下的‘main.c’,位于‘Project:’下。向下滾動以找到While(1)。就在While(1)之前添加這行代碼:
HAL_TIM_Base_Start_IT(&htim1); //start timer1 in interrupt mode.
你的Keil窗口將如下所示:
[7]
現(xiàn)在,在‘main.c’文件附近打開‘STM32Fxx_it.c’。向下滾動以找到‘TIM1_UP_IRQHandler’函數(shù)。
在編寫以下代碼行時:
static uint32_t counter = 0;
if (counter 》= 500)
{
HAL_GPIO_TogglePin(LD2_GPIO_Port, LD2_Pin);
counter = 0;
}
counter++;
因此您的窗口將如下所示:
[8]
單擊“構建”按鈕(或按“F7”)。連接STM32板并單擊“加載”按鈕(或按“F8”)
步驟3:可視化輸出
現(xiàn)在,按‘你’STM32‘板上的黑色’休息按鈕。
你看到LED在一段時間后開啟和關閉。
-
定時器
+關注
關注
23文章
3246瀏覽量
114719 -
stm32cubemx
+關注
關注
5文章
283瀏覽量
14791
發(fā)布評論請先 登錄
相關推薦
評論