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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > STM32 通用定時器與滴答定時器

          STM32 通用定時器與滴答定時器

          作者: 時間:2016-11-19 來源:網(wǎng)絡(luò) 收藏
          STM32 通用定時器滴答定時器
          • 前言:STM32包括TIM1/TIM8兩個高級定時器,TIM2~TIM5四個通用定時器,TIM6/TIM7兩個基本定時器,還有使用非常方便的系統(tǒng)滴答定時器(systick),基本操作為:配置(使能時鐘/設(shè)置工作方式及初值/配置中斷/開啟中斷和時鐘/使能定時器)——>計數(shù)——>產(chǎn)生中斷。
          一、通用定時器使用
          void TimerConfig(void){TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;// 使能時鐘/復(fù)位/自動重裝載設(shè)置/時鐘預(yù)分頻設(shè)置/采樣分頻/up/清除中斷/開啟時鐘RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);TIM_DeInit(TIM2);  TIM_TimeBaseStructure.TIM_Period = 2000 - 1;TIM_TimeBaseStructure.TIM_Prescaler = (36000 - 1);TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;TIM_TimeBaseInit(TIM2,&TIM_TimeBaseStructure);TIM_ClearFlag(TIM2,TIM_FLAG_Update);TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE);TIM_Cmd(TIM2,ENABLE);// 中斷設(shè)置(組1/通道2/搶占式中斷優(yōu)先級0/響應(yīng)式中斷優(yōu)先級0/使能中斷)NVIC_InitTypeDef NVIC_InitStructure;NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;NVIC_Init(&NVIC_InitStructure);}void TIM2_IRQHandler(void){if(TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET){// 清除中斷標(biāo)志TIM_ClearITPendingBit(TIM2, TIM_FLAG_Update);timer_flag++;}}
          二、滴答定時器
          void SysTmerConfig(void){if (SysTick_Config(SystemCoreClock / CLOCK_SECOND)){while (1);}}void SysTick_Handler(void){sys_timer_flag++;}



          評論


          技術(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); })();