我这边有以前在F103上写的一段代码,你参考一下 
void Timer_ExtTrigger(void) 
{ 
        GPIO_InitTypeDef  GPIO_InitStructure; 
                 
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); 
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA , ENABLE); 
 
        GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_12;                          //TIM1_ETR 
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; 
        GPIO_Init(GPIOA, &GPIO_InitStructure); 
         
        TIM_ETRClockMode2Config(TIM1,TIM_ExtTRGPSC_DIV4,TIM_ExtTRGPolarity_NonInverted,0x0 ); //外部时钟模式2,4分频,上升沿,不过滤 
         
        TIM_SelectInputTrigger(TIM1,TIM_TS_ETRF);        //触发源为ETR 
         
        TIM_Cmd(TIM1, ENABLE); 
} 
 
这段代码时间比较久了,当时也没仔细研究,可能有些小问题,思路就是把脉冲接在TIM1的ETR管脚上,TIM1设置成外部时钟模式2,触发源为ETR,然后读TIM1的计数寄存器就行,上面的程序用了4分频,你可以不分频 
 
 |