色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STM32開(kāi)發(fā)板學(xué)習(xí)筆記--通用定時(shí)器

          STM32開(kāi)發(fā)板學(xué)習(xí)筆記--通用定時(shí)器

          作者: 時(shí)間:2016-11-28 來(lái)源:網(wǎng)絡(luò) 收藏
          定時(shí)器可以說(shuō)是單片機(jī)最常用的內(nèi)部資源,連續(xù)幾天都在看STM32定時(shí)器的使用方法,看固件庫(kù)使用手冊(cè)看的頭都大了,總算學(xué)會(huì)了基本的應(yīng)用。

          1、首先在void NVIC_Configuration(void)中開(kāi)啟中斷:

          NVIC_DeInit();
          NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
          NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQChannel;
          NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;
          NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
          NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
          NVIC_Init(&NVIC_InitStructure);

          2、初始化定時(shí)器

          void TIM_Configuration(void)
          {
          TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;

          TIM_DeInit(TIM2);//復(fù)位TIM2定時(shí)器


          TIM_TimeBaseStructure.TIM_Period = 1000;//定時(shí)1毫秒
          TIM_TimeBaseStructure.TIM_Prescaler = 71;//分頻
          TIM_TimeBaseStructure.TIM_ClockDivision = 0;//TIM_CKD_DIV1; ; // 時(shí)鐘分割
          TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;//計(jì)數(shù)方向向上計(jì)數(shù)
          TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);


          TIM_ClearFlag(TIM2, TIM_FLAG_Update);


          TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);


          TIM_Cmd(TIM2, ENABLE);
          }

          這樣每隔1ms就中斷一次

          中斷程序?qū)懺?“stm32f10x_it.c”的 void TIM2_IRQHandler(void) 中。

          在中斷服務(wù)程序中的末尾一定要加上
          TIM_ClearITPendingBit(TIM2,TIM_FLAG_Update);//一定要加上這句,清除TIM2 的中斷待處理位


          評(píng)論


          技術(shù)專(zhuān)區(qū)

          關(guān)閉