久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2184|回復: 3
打印 上一主題 下一主題
收起左側(cè)

請問HAL庫開啟定時器中斷后,自動進入一次中斷的原因

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:585428 發(fā)表于 2022-7-22 10:31 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
我在做stm32的定時器TIM8  PWM輸出實驗時,配置完后,在TIM8_UP_TIM13_IRQHandler中斷上打了斷點,發(fā)現(xiàn)每次執(zhí)行完HAL_NVIC_EnableIRQ(ATIM_TIMX_NPWM_IRQn);這個語句后,都會自動進入一次中斷。清除更新中斷標志位也不行。因為HAL_NVIC_EnableIRQ(ATIM_TIMX_NPWM_IRQn);執(zhí)行完后會自動將相關(guān)標志位置1.
請問有什么好的辦法,可以讓定時器配置完后,不自動進一次中斷。

  1. //PWM輸出初始化配置
  2. void atim_timx_npwm_chy_init(uint16_t arr, uint16_t psc)
  3. {
  4.     GPIO_InitTypeDef gpio_init_struct;

  5.     ATIM_TIMX_NPWM_CHY_GPIO_CLK_ENABLE();                                           /* TIMx通道IO時鐘使能 */
  6.     ATIM_TIMX_NPWM_CHY_CLK_ENABLE();                                                /* TIMx時鐘使能 */

  7.     gpio_init_struct.Pin = ATIM_TIMX_NPWM_CHY_GPIO_PIN;                             /* 通道y的GPIO */
  8.     gpio_init_struct.Mode = GPIO_MODE_AF_PP;                                        /* 復用推挽輸出 */
  9.     gpio_init_struct.Pull = GPIO_PULLUP;                                            /* 上拉 */
  10.     gpio_init_struct.Speed = GPIO_SPEED_FREQ_HIGH;                                  /* 高速 */
  11.     gpio_init_struct.Alternate = ATIM_TIMX_NPWM_CHY_GPIO_AF;                        /* 端口復用 */
  12.     HAL_GPIO_Init(ATIM_TIMX_NPWM_CHY_GPIO_PORT, &gpio_init_struct);                 /* 初始化IO */
  13.    
  14.     g_timx_npwm_chy_handle.Instance = ATIM_TIMX_NPWM;                               /* 定時器x */
  15.     g_timx_npwm_chy_handle.Init.Prescaler = psc;                                    /* 定時器分頻 */
  16.     g_timx_npwm_chy_handle.Init.CounterMode = TIM_COUNTERMODE_UP;                   /* 遞增計數(shù)模式 */
  17.     g_timx_npwm_chy_handle.Init.Period = arr;                                       /* 自動重裝載值 */
  18.     g_timx_npwm_chy_handle.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE;  /* 使能TIMx_ARR進行緩沖 */
  19.     HAL_TIM_PWM_Init(&g_timx_npwm_chy_handle);                                      /* 初始化PWM */


  20.     timx_oc_npwm_chy.OCMode = TIM_OCMODE_PWM1;                                      /* 模式選擇PWM1 */
  21.     timx_oc_npwm_chy.Pulse = ( arr + 1 )/2;                                         /* 比較值為重裝載值的50%,即占空比為50% */
  22.     timx_oc_npwm_chy.OCPolarity = TIM_OCPOLARITY_HIGH;                              /* 輸出比較極性為高 */
  23.     HAL_TIM_PWM_ConfigChannel(&g_timx_npwm_chy_handle, &timx_oc_npwm_chy, ATIM_TIMX_NPWM_CHY); /* 配置TIMx通道y */
  24.     HAL_TIM_PWM_Start(&g_timx_npwm_chy_handle, ATIM_TIMX_NPWM_CHY);                 /* 開啟對應(yīng)PWM通道 */

  25.                 __HAL_TIM_ENABLE_IT(&g_timx_npwm_chy_handle, TIM_IT_UPDATE);                    /* 開啟更新中斷 */
  26.                   
  27.     HAL_NVIC_SetPriority(ATIM_TIMX_NPWM_IRQn, 1, 3);                                /* 設(shè)置中斷優(yōu)先級,搶占優(yōu)先級1,子優(yōu)先級3 */
  28.                 HAL_NVIC_EnableIRQ(ATIM_TIMX_NPWM_IRQn);                                        /* 開啟ITMx中斷 */
  29. //使能中斷后,會進入到中斷中,然后判斷后,關(guān)閉定時器(ATIM_TIMX_NPWM->CR1 &= ~(1 << 0); )
  30. }


  31. //定時器中斷
  32. void TIM8_UP_TIM13_IRQHandler(void)
  33. {
  34.     uint16_t npwm = 0;

  35.     /* 以下代碼沒有使用定時器HAL庫共用處理函數(shù)來處理,而是直接通過判斷中斷標志位的方式 */
  36.     if(__HAL_TIM_GET_FLAG(&g_timx_npwm_chy_handle, TIM_FLAG_UPDATE) != RESET)
  37.     {}

  38. }
復制代碼




分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:883242 發(fā)表于 2022-7-22 19:17 | 只看該作者
用到的時候再打開中斷,或者加一個標志位放棄第一次中斷操作。
回復

使用道具 舉報

板凳
ID:123289 發(fā)表于 2022-7-29 15:47 | 只看該作者
本帖最后由 yzwzfyz 于 2022-8-1 08:50 編輯

原因是,的確中斷條件具備了。
雖然你清了標記,但你無法證明,清除之后中斷條件消失了。
回復

使用道具 舉報

地板
ID:139866 發(fā)表于 2022-8-10 17:54 | 只看該作者
這跟你用不用hal庫沒關(guān)系,用標準庫有時候也會這樣,對程序基本不影響,可以試試這樣,先清除中斷標志,然后使能定時器中斷
回復

使用道具 舉報

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

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人免费av| 免费观看av网站 | 91精品国产一区二区三区 | 99re视频在线观看 | 亚洲国产精品久久人人爱 | 日本在线网站 | 欧美一级在线 | 欧美日韩1区 | 超碰人人艹 | 91在线观| 久久久久久国模大尺度人体 | 在线中文视频 | 免费在线观看成年人视频 | 在线免费观看欧美 | 欧美福利在线 | 国内精品视频免费观看 | 亚洲视屏 | av在线影院 | 日韩一区二区三区视频在线播放 | 亚洲网站免费看 | 成人免费视频网站在线看 | 欧美日韩综合视频 | 亚洲最新网址 | 暴草美女 | 国产精品三级久久久久久电影 | 国产一区二区观看 | 日本一区二区高清不卡 | 久久久久久久一区二区三区 | 狠狠爱综合 | 日韩一级二级片 | 福利一区在线观看 | cao视频| 亚洲欧美日韩在线一区二区 | 久久一区二区精品 | 欧美一二三四成人免费视频 | 天天操一操 | 隔壁老王国产在线精品 | 国产在线观看福利 | av毛片| 成人一区二区视频 | 久久午夜国产精品www忘忧草 |