F4实现用定时器计脉冲个数问题

2019-07-20 15:18发布

 就是通过定时器想读取输入脉冲个数  
函数是照着F1的基本设置配置的 昨天原子哥也给了输入浮空的配置 可 搞了很久也没读出数据来。用TIM5读PA0的脉冲个数 按道理可以实现的啊?难道是我哪里没配置成功?  [mw_shl_code=c,true]void TIM5_CH1_Cap_Init(u32 arr,u16 psc) { GPIO_InitTypeDef GPIO_InitStructure; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; NVIC_InitTypeDef NVIC_InitStructure; TIM_ICInitTypeDef TIM5_ICInitStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM5,ENABLE); //TIM5时钟使能 RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE); //使能PORTA时钟 //实现PA0输入浮空 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; //GPIOA0 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;//复用功能输入 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; //速度100MHz // GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //推挽复用输出 GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; //nopull GPIO_Init(GPIOA,&GPIO_InitStructure); //初始化PA0 TIM_TimeBaseStructure.TIM_Prescaler=psc; //定时器分频 TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up; //向上计数模式 TIM_TimeBaseStructure.TIM_Period=arr; //自动重装载值 TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1; TIM_TimeBaseInit(TIM5,&TIM_TimeBaseStructure); TIM_TIxExternalClockConfig(TIM5,TIM_TIxExternalCLK1Source_TI1,TIM_ICPolarity_Rising,0);//TIM5设为外部时钟 触发 TIM_SetCounter(TIM5, 0); TIM_Cmd(TIM5,ENABLE ); //使能定时器5 }[/mw_shl_code]

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