初级会员

- 积分
- 168
- 金钱
- 168
- 注册时间
- 2014-11-5
- 在线时间
- 23 小时
|
5金钱
各位大哥,输入捕获需要滤波处理吗? 为什么我配置的PWM的输入捕获只要用手摸一下IO脚就进入中断,配置里面是有个滤波的选择 .TIM_ICFilter = 0x00; 这个用来选择经过多少个周期跳变认为是稳定的,可是不管它设置为多少,好像都是用手摸住引脚就会不断进入中断里面。代码贴出来,谁知道是什么原因呢?
//对TIM3 输入捕获的配置
//定时器3第二通道PA7 捕获输入配置 上升沿捕获
TIM_ICInitStructure.TIM_Channel = TIM_Channel_2; //通道2
TIM_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising;//捕获上升沿
TIM_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI;//对应通道
TIM_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1; //配探测到一次 执行一次,意思是匹配探测到多少周期 执行一次
TIM_ICInitStructure.TIM_ICFilter = 0x0f;//选择比较滤波器 经过几个周期跳变认为是稳定的
TIM_PWMIConfig(TIM3,&TIM_ICInitStructure);//配置PWM输入
TIM_SelectInputTrigger(TIM3,TIM_TS_TI2FP2);//选择输入触发源为IC2
//选择TIM3 从机通道(通道1)的模式
TIM_SelectSlaveMode(TIM3, TIM_SlaveMode_Reset);
//开启主从机模式
TIM_SelectMasterSlaveMode(TIM3,TIM_MasterSlaveMode_Enable);
//开启TIM3
TIM_Cmd(TIM3,ENABLE);
//开启CC2中断
TIM_ITConfig(TIM3,TIM_IT_CC2,ENABLE);
|
|