0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

定時器的基本操作

CHANBAEK ? 來源:電子愛好者 ? 作者:LinuxARM ? 2023-01-19 09:13 ? 次閱讀

第一步:

具體配置如下圖:激活需要使用到的外設定時器,當系統(tǒng)時鐘頻率為64MHz時,我們希望1MS發(fā)生中斷一次;就可以把時鐘的預分頻系數(shù)設置為64-1;計數(shù)周期設置為1000-1;計數(shù)方式為 Up 向上計數(shù),此時得到的中斷頻率為:64,000,000 /64 /1000 = 1MS = 1Khz ;

Dingtalk_20221206154648.jpg

第二步:

可以根據(jù)自身需要在NVIC 中斷控制器中配置中斷響應優(yōu)先級。

Dingtalk_20221206154648.jpg

第三步:

代碼分析:

先看TIM7的初始化函數(shù):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 */

  
   //在這這里添加這行代碼,意思是初始化完成便開啟定時器中斷計數(shù)
    HAL_TIM_Base_Start_IT(&htim7);   
    
    
  /* USER CODE END TIM7_Init 2 */
}
/* USER CODE BEGIN 4 */


//在BEGIN 4 中添加定時器中斷服務函數(shù)


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 */

如果能理解到這里,恭喜你已經(jīng)學會了定時器的基本操作!

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 定時器
    +關注

    關注

    23

    文章

    3218

    瀏覽量

    113688
  • 函數(shù)
    +關注

    關注

    3

    文章

    4237

    瀏覽量

    61969
  • 代碼
    +關注

    關注

    30

    文章

    4671

    瀏覽量

    67770
收藏 人收藏

    評論

    相關推薦

    MM32 定時器操作

    實現(xiàn)同步功能。 所有 TIMx 定時器在內部相連,用于定時器同步或鏈接。當一個定時器處于主模式時,它可以對另一個處于從模式的定時器的計數(shù)
    發(fā)表于 01-04 16:56

    如何計算PIC16F67中定時器操作的時間?

    我在PIC16F67中使用定時器操作。我不知道該怎么計算時間。所以幫我計算一下這個IC的時間。以及如何編寫相同的程序。
    發(fā)表于 10-30 06:13

    怎么在VxWorks下實現(xiàn)異步通用定時器的設計?

    本文設計了基于看門狗機制的異步通用定時器,并根據(jù)實際需要設計了周期性定時和一次性定時兩種定時器。異步是指定時器運行于任務中,對用戶沒有任何限
    發(fā)表于 04-28 06:33

    stm32進行定時器操作的步驟

    進來。在進行定時器操作時,一般按如下步驟來進行: 1、打開相關外設的時鐘。以定時器TIM3為例,由stm32的時鐘樹可以看到,TIM3時鐘掛接在APB1上面,所以打開TIM3時鐘時使用RC
    發(fā)表于 08-13 06:16

    軟件定時器的特點和原理

    本文介紹了軟件定時器的特點和原理,并從時鐘節(jié)拍,數(shù)據(jù)結構,定時器操作等角度分析,實現(xiàn)了基于STM32的軟件定時器,該軟件定時器具有兩種模式:
    發(fā)表于 08-19 08:29

    89C52中斷和定時器操作步驟

    文章目錄一、中斷1.1 基本概念1.2 代碼和實驗部分二、定時器一、中斷1.1 基本概念其實中斷的概念很好理解:試想一下你正在教室里面搞單片機(這相當于與CPU正在執(zhí)行主程序)這時,防空警報響了(一
    發(fā)表于 12-02 06:42

    LabVIEW編程LabVIEW開發(fā)高級數(shù)據(jù)采集技術 計數(shù)定時器操作 例程與相關資料

    LabVIEW編程LabVIEW開發(fā)高級數(shù)據(jù)采集技術 計數(shù)定時器操作 例程與相關資料典型的多功能DAQ設備只有2個板載計數(shù),而智能DAQ則能在各條數(shù)字線上運行計數(shù)
    發(fā)表于 01-14 20:33

    STM32單片機的基本定時器如何操作以及編程呢

    STM32F1系列的產品,除了互聯(lián)網(wǎng)產品外,工作8個,3種定時器,其中一種就是基本定時器。那么STM32單片機的基本定時器如何操作以及編程呢?下面我們就來詳細的了解一下STM32F1系
    發(fā)表于 01-26 06:46

    RT-Thread提供了怎樣的定時器操作函數(shù)以及如何使用它們呢

    時鐘節(jié)拍任何操作系統(tǒng)都需要提供一個時鐘節(jié)拍,以供系統(tǒng)處理所有和時間有關的事件,如延時、線程的時間片輪轉調度以及定時器超時等。時鐘節(jié)拍(OS Tick)是操作系統(tǒng)中最小的時間單位。時鐘節(jié)拍是特定
    發(fā)表于 04-02 11:41

    【CW32飯盒派開發(fā)板試用體驗】+定時器操作初探討

    */ } 定時器的實現(xiàn),將有助我們后面程序功能的實現(xiàn)。本次定時器操作初探討在這里就結束了,有興趣的小伙伴或者 想深入研究的小伙伴,可以多看看官方的參考代碼,實際動手去調試。發(fā)現(xiàn)問題,然后解決問題,如此,才能進步。
    發(fā)表于 06-10 22:46

    看門狗定時器的設計、工作原理及看門狗定時器操作

    看門狗定時器(WDT,Watch Dog Timer)是單片機的一個組成部分,它實際上是一個計數(shù),一般給看門狗一個數(shù)字,程序開始運行后看門狗開始倒計數(shù)。如果程序運行正常,過一段時間CPU應發(fā)出指令讓看門狗復位,重新開始倒計數(shù)。如果看門狗減到0就認為程序沒有正常工作,強制
    發(fā)表于 05-23 09:14 ?7508次閱讀
    看門狗<b class='flag-5'>定時器</b>的設計、工作原理及看門狗<b class='flag-5'>定時器</b>的<b class='flag-5'>操作</b>

    看門狗定時器的原理及操作解讀

    在這里T1的定時時間要設的大于主程序的運行時間,給主程序留有一定的的裕量。而T1的中斷正常與否我們再由T0定時中斷子程序來監(jiān)視。這樣就夠成了一個循環(huán),T0監(jiān)視T1,T1監(jiān)視主程序,主程序又來監(jiān)視T0,從而保證系統(tǒng)的穩(wěn)定運行。
    的頭像 發(fā)表于 11-28 10:45 ?2.2w次閱讀

    介紹關于PIC16F161X角度定時器操作演示

    PIC16F161X角度定時器演示
    的頭像 發(fā)表于 07-10 04:17 ?3908次閱讀

    【單片機技術】—— 89C52中斷和定時器操作1

    文章目錄一、中斷1.1 基本概念1.2 代碼和實驗部分二、定時器一、中斷1.1 基本概念其實中斷的概念很好理解:試想一下你正在教室里面搞單片機(這相當于與CPU正在執(zhí)行主程序)這時,防空警報響了(一
    發(fā)表于 11-23 17:06 ?11次下載
    【單片機技術】—— 89C52中斷和<b class='flag-5'>定時器</b><b class='flag-5'>操作</b>1

    CW32定時器操作講解——輸入捕獲

    CW32定時器操作講解——輸入捕獲
    的頭像 發(fā)表于 09-27 16:06 ?790次閱讀
    CW32<b class='flag-5'>定時器</b><b class='flag-5'>操作</b>講解——輸入捕獲