WPS?2019如何清理云空間?WPS 2019如何將PDF轉換為WORD?
WPS 2019如何清理云空間?進入金山文檔網頁端,點擊我的文檔勾
2023/04/10
(資料圖)
第一步:
具體配置如下圖:激活需要使用到的外設定時器,當系統時鐘頻率為64MHz時,我們希望1MS發生中斷一次; 就可以把時鐘的預分頻系數設置為64-1; 計數周期設置為1000-1; 計數方式為 Up 向上計數,此時得到的中斷頻率為:64,000,000 /64 /1000 = 1MS = 1Khz ;
第二步:
可以根據自身需要在NVIC 中斷控制器中配置中斷響應優先級。
第三步:
代碼分析:
先看TIM7的初始化函數:static void MX_TIM7_Init(void)static void MX_TIM7_Init(void){ /* USER CODE BEGIN TIM7_Init 0 */ /* USER CODE END TIM7_Init 0 */ TIM_MasterConfigTypeDef sMasterConfig = {0}; /* USER CODE BEGIN TIM7_Init 1 */ /* USER CODE END TIM7_Init 1 */ htim7.Instance = TIM7; htim7.Init.Prescaler = 64-1; htim7.Init.CounterMode = TIM_COUNTERMODE_UP; htim7.Init.Period = 1000-1; htim7.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; if (HAL_TIM_Base_Init(&htim7) != HAL_OK) { Error_Handler(); } sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; if (HAL_TIMEx_MasterConfigSynchronization(&htim7, &sMasterConfig) != HAL_OK) { Error_Handler(); } /* USER CODE BEGIN TIM7_Init 2 */ //在這這里添加這行代碼,意思是初始化完成便開啟定時器中斷計數 HAL_TIM_Base_Start_IT(&htim7); /* USER CODE END TIM7_Init 2 */}
/* USER CODE BEGIN 4 *///在BEGIN 4 中添加定時器中斷服務函數void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim){ if (htim->Instance == htim7.Instance) //如果是TIM7響應進來的中斷 { MS ++; //前面配置中斷更新時間為1MS,那么這里進來一次MS加一次 if(MS == 1000) //當MS加到1000時,即1S { HAL_GPIO_TogglePin(LED1_GPIO_Port,LED1_Pin); //即1S LED翻轉一次 MS =0; //MS用完后記得清0 } }}/* USER CODE END 4 */
如果能理解到這里,恭喜你已經學會了定制器的基本操作!
標簽: