STM32 第16章TPAD实验为什么初始化不用使能中断

2019-08-08 12:46发布

//定时器 2 通道 2 输入捕获配置
void TIM5_CH2_Cap_Init(u16 arr,u16 psc)
{
        GPIO_InitTypeDef    GPIO_InitStructure;   
        TIM_TimeBaseInitTypeDef    TIM_TimeBaseStructure;
        TIM_ICInitTypeDef    TIM5_ICInitStructure;

        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM5, ENABLE);     //使能 TIM5 时钟
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);    //使能 PA 时钟
        //设置 GPIOA.1 为浮空输入
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;                                         //PA1  端口配置
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;                      //速度 50MHz
        GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;           //浮空输入
        GPIO_Init(GPIOA, &GPIO_InitStructure);                                              //初始化 GPIOA.1

        //初始化 TIM5     
        TIM_TimeBaseStructure.TIM_Period = arr;                                  //设定计数器自动重装值      
        TIM_TimeBaseStructure.TIM_Prescaler =psc;                             //预分频器            
        TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; // TDTS = Tck_tim
        TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;    //向上计数模式
        TIM_TimeBaseInit(TIM5, &TIM_TimeBaseStructure);              //根据参数初始化 TIMx
        //初始化 TIM5 通道 2   
        TIM5_ICInitStructure.TIM_Channel = TIM_Channel_2; //选择输入端  IC2 映射到 TI5 上
        TIM5_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising; //上升沿捕获
        TIM5_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI;   
        TIM5_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1;    //配置输入分频,不分频   
        TIM5_ICInitStructure.TIM_ICFilter = 0x03;//配置输入滤波器  8 个定时器时钟周期滤波
        TIM_ICInit(TIM5, &TIM5_ICInitStructure);//初始化 I5 IC2

        TIM_Cmd(TIM5,ENABLE );                        //使能定时器 5
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。