<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > STM32如何設置定時器

          STM32如何設置定時器

          作者: 時間:2013-02-22 來源:網(wǎng)絡 收藏

          如何

          下面以stm32的TIM2作為實例一步步配置成為定時器:

          第一種

          對定時器的基本配置

          TIM_TimeBaseStructure.TIM_Period = 1000; //設置自動裝載

          TIM_TimeBaseStructure.TIM_Prescaler = 35999; //分頻計數(shù)

          TIM_TimeBaseStructure.TIM_ClockDivision = 0;

          TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //選擇向上計數(shù)

          TIM_TimeBaseInit(TIM2, TIM_TimeBaseStructure);

          TIM_Cmd(TIM2, ENABLE); //是能定時器

          始能定時器的中斷:

          TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);

          在開啟時鐘里一定要打開TIM2的時鐘,函數(shù)表達式如下:

          RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);

          4:中斷向量函數(shù)的編寫:

          void NVIC_Configuration(void)

          {

          NVIC_InitTypeDef NVIC_InitStructure;

          #ifdef VECT_TAB_RAM //如果程序在ram中調(diào)試那么定義中斷向量表在Ram中否則在Flash中

          /* Set the Vector Table base location at 0x20000000 */

          NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0);

          #else /* VECT_TAB_FLASH */

          /* Set the Vector Table base location at 0x08000000 */

          NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);

          #endif

          /* Enable the TIM2 global Interrupt */

          NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQChannel;

          NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;

          NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;

          NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;

          NVIC_Init(NVIC_InitStructure);

          }

          5:中斷函數(shù)的編寫:

          當有TIM2的無論哪個中斷觸發(fā)中斷發(fā)生那么就會進入這個函數(shù)

          TIM2_IRQHandler(void)

          所以這個更新事件的中斷判斷要依靠以下語句:

          if (TIM_GetITStatus(TIM2, TIM_IT_Update) == SET)

          按照以上步驟配置可以順利進行定時器的基本定時應用

          第二種方法:

          /* Enable TIM2 Update interrupt [TIM2溢出中斷允許]*/

          TIM_ITConfig(TIM2, TIM_IT_CC1, ENABLE);

          中斷中的設置為:

          if (TIM_GetITStatus(TIM2, TIM_IT_CC1) != RESET)



          關(guān)鍵詞: STM32 設置定時器 寄存器

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();