欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4461|回復: 4
收起左側

關于stm32單片機中斷void TIM4_IRQHandler(void)函數

[復制鏈接]
ID:962192 發表于 2021-9-2 09:58 | 顯示全部樓層 |閱讀模式
在每個外設的中斷里都有一個中斷函數比如void TIM4_IRQHandler(void)函數,當我們調用HAL_TIM_PWM_Start_IT(&htim4,TIM_CHANNEL_1)函數時會進入剛才寫的中斷函數里面,而在中斷函數里面還有有一個HAL_TIM_IRQHandler(&htim4)函數,所以我想問如果將HAL_TIM_IRQHandler(&htim4)函數從void TIM4_IRQHandler(void)函數里面刪除和不刪除的區別在哪?望路過的道友們解答一下,萬分感謝!
回復

使用道具 舉報

ID:935919 發表于 2021-9-3 08:34 | 顯示全部樓層
這是芯片的程序庫幫你做好的結果. 如果你不用HAL庫, 自己添加自己的中斷處理程序, 當然可以刪除.

之所以用 HAL_TIM_IRQHandler(&htim4), 因為這個一個通用函數, 大部分的中斷處理都同樣用此函數, 只是參數不一樣而已. 如果你不用通用的處理, 當然頁可以自己寫.

自己寫可能會節省一些存儲空間, 但是會漏掉一些出錯處理. 所以建議還是用庫里面的函數.

另外, 如果通用的函數滿足不了你的處理要求, 可以在HAL_TIM_IRQHandler(&htim4)之前, 之后加入你自己的處理代碼.

注意觀察TIM4_IRQHandler里面會有如下USER CODE的注釋, 就是你可以在這些地方插入你的處理代碼, 具體在之前還是之后取決你的需求.

/* USER CODE BEGIN TIM6_IRQn 0 */
  這里加入你的中斷處理代碼
  /* USER CODE END TIM6_IRQn 0 */
  HAL_TIM_IRQHandler(&htim6);
  /* USER CODE BEGIN TIM6_IRQn 1 */
這里也可以加入你的中斷處理代碼
  /* USER CODE END TIM6_IRQn 1 */
回復

使用道具 舉報

ID:962192 發表于 2021-9-3 10:37 | 顯示全部樓層
sinside 發表于 2021-9-3 08:34
這是芯片的程序庫幫你做好的結果. 如果你不用HAL庫, 自己添加自己的中斷處理程序, 當然可以刪除.

之所 ...

受教了,謝謝您!
回復

使用道具 舉報

ID:130230 發表于 2021-9-3 11:42 | 顯示全部樓層
你看一下那個回調函數的實現就知道了。自己寫就好,hal為了可移植性做了很多冗余的判斷。
回復

使用道具 舉報

ID:962192 發表于 2021-9-3 14:17 | 顯示全部樓層
jizhongbiao 發表于 2021-9-3 11:42
你看一下那個回調函數的實現就知道了。自己寫就好,hal為了可移植性做了很多冗余的判斷。

嗯嗯,謝謝您。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表