老樣子先設置GPIO
- void GPIO_Configuration()
- {
- GPIO_InitTypeDef GPIO_InitStructure;
-
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
-
- GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
- GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;
- GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
-
- GPIO_Init(GPIOB,&GPIO_InitStructure);
- }
- 接著設置NVIC
- void NVIC_Configuration()
- {
- NVIC_InitTypeDef NVIC_InitStructure;
-
- NVIC_PritorityGroupConfig(NVIC_PritorityGroup_4)
-
- NVIC_InitStructure.NVIC_IRQChannel=TIM2_IRQn;
- NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
- NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;
- NVIC_InitStructure.NVIC_IRQChannelSubPriority=2;
-
- NVIC_Init(&NVIC_InitStructure);
- }
-
- 最后設置TIM
- voidTIM_Configuration()
- {
- TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
-
- RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2.ENABLE);
-
- TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;//外接的時鐘源設置 這里不使用
- TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;//選擇向上計數
- TIM_TimeBaseStructure.TIM_Period=1000;//重裝載值
- TIM_TimeBaseStructure.TIM_Prescaler=71;//分頻值為71+1
-
- TIM_TimeBaseInit(TIM2,&TIM_TimeBaseStructure);
-
- TIM_ClearFlag(TIM2,TIM_FLAG_Update);//清楚中斷標準位
-
- TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE);//開啟中斷
-
- TIM_Cmd(TIM2,ENABLE); //使能TIM2
- }
復制代碼
|