標(biāo)題: STM32學(xué)習(xí)之使用TIM做定時器 [打印本頁]

作者: xiaos    時間: 2015-4-10 17:31
標(biāo)題: STM32學(xué)習(xí)之使用TIM做定時器
老樣子先設(shè)置GPIO
  1. void GPIO_Configuration()

  2. {

  3.        GPIO_InitTypeDef      GPIO_InitStructure;

  4.       

  5.        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);

  6.       

  7.        GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;

  8.        GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;

  9.        GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;

  10.       

  11.        GPIO_Init(GPIOB,&GPIO_InitStructure);

  12. }

  13. 接著設(shè)置NVIC

  14. void NVIC_Configuration()

  15. {

  16.        NVIC_InitTypeDef       NVIC_InitStructure;



  17.        NVIC_PritorityGroupConfig(NVIC_PritorityGroup_4)

  18.       

  19.        NVIC_InitStructure.NVIC_IRQChannel=TIM2_IRQn;

  20.        NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;

  21.        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;

  22.        NVIC_InitStructure.NVIC_IRQChannelSubPriority=2;

  23.       

  24.        NVIC_Init(&NVIC_InitStructure);

  25. }



  26. 最后設(shè)置TIM

  27. voidTIM_Configuration()

  28. {

  29.        TIM_TimeBaseInitTypeDef      TIM_TimeBaseStructure;



  30.        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2.ENABLE);



  31.        TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;//外接的時鐘源設(shè)置 這里不使用

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

  33.        TIM_TimeBaseStructure.TIM_Period=1000;//重裝載值

  34.        TIM_TimeBaseStructure.TIM_Prescaler=71;//分頻值為71+1

  35.       

  36.        TIM_TimeBaseInit(TIM2,&TIM_TimeBaseStructure);

  37.       

  38.        TIM_ClearFlag(TIM2,TIM_FLAG_Update);//清楚中斷標(biāo)準(zhǔn)位

  39.       

  40.   TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE);//開啟中斷

  41.             

  42.   TIM_Cmd(TIM2,ENABLE);         //使能TIM2

  43. }
復(fù)制代碼








歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1