1.使用的是库函数编写代码,TIM5的中断为TIM5_IRQn,TIM10的中断为TIM1_UP_TIM10_IRQn,TIM9-14的定时器中断命名不规则,需注意。
2.TIM10_CH1的复用端口为PF6,应对端口配置为:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM10,ENABLE); //TIM10时钟使能
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE); //使能PORTF时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; //GPIOF6
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;//复用功能
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; //速度100MHz
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //推挽复用输出
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN; //下拉
GPIO_Init(GPIOF,&GPIO_InitStructure); //初始化PF6
GPIO_PinAFConfig(GPIOF,GPIO_PinSource6,GPIO_AF_TIM10); //PF6复用位定时器10
3.本人修改代码时所对应的的按键为闭合将PF6拉低至GND,因此无法捕获到信号。更改以上配置或更改外部输入。
4.捕获一次脉冲结束后需将在合适位置将状态位TIM10CH1_CAPTURE_STA清零。