中级会员
 
- 积分
- 281
- 金钱
- 281
- 注册时间
- 2015-7-12
- 在线时间
- 51 小时
|
1金钱
GPIO_InitTypeDef GPIO_InitStructure;
TIM_TimeBaseInitTypeDef TIM2_TimeBaseStructure;
NVIC_InitTypeDef NVIC_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //使能PA
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); //时钟使能
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOA, &GPIO_InitStructure);
TIM_DeInit(TIM2);
TIM2_TimeBaseStructure.TIM_Prescaler = 0;
TIM2_TimeBaseStructure.TIM_Period = 0xFFFF;
TIM2_TimeBaseStructure.TIM_ClockDivision = 0;
TIM2_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM2, &TIM2_TimeBaseStructure);
TIM_ITConfig(TIM2,TIM_IT_Update ,ENABLE);
TIM_ETRClockMode2Config(TIM2, TIM_ExtTRGPSC_OFF, TIM_ExtTRGPolarity_NonInverted, 0);
TIM_SetCounter(TIM2, 0); //设置计数器为0
NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn; //TIM2中断
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority =1; //先占优先级2级
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; //从优先级0级
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道被使能
NVIC_Init(&NVIC_InitStructure); //根据NVIC_InitStruct中指定的参数初始化外设NVIC寄存器
TIM_Cmd(TIM2, ENABLE);
我想知道为什么要配置TIM2_TimeBaseStructure.TIM_ClockDivision = 0;和 TIM2_TimeBaseStructure.TIM_Prescaler = 0;
外部时钟的话不应该是外部来上升沿计数器加一,和定时器内部时钟的的分频滤波有关系吗?参考手册上也没配置啊
|
-
|