TIM4_ICInitStructure.TIM_Channel = TIM_Channel_3; //
TIM4_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising;
TIM4_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI;
TIM4_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1; //配置输入分频,不分频
TIM4_ICInitStructure.TIM_ICFilter = 0x00;//IC1F=0000
TIM_ICInit(TIM4, &TIM4_ICInitStructure);
请问这个实现什么功能?
TIM_ITConfig(TIM4,TIM_IT_Update|TIM_IT_CC3,ENABLE);
TIM_OC3PolarityConfig(TIM4,TIM_ICPolarity_Rising);
TIM_ClearITPendingBit(TIM4, TIM_IT_CC3|TIM_IT_Update);
我就是这些通道分不清楚
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
TIM_ITConfig(TIM4,TIM_IT_Update|TIM_IT_CC3,ENABLE);是配置定时器4的更新中断和输入捕获中断,也就是定时器达到计数值和捕获到上升沿时,产生中断TIM_OC3PolarityConfig(TIM4,TIM_ICPolarity_Rising); 是配置定时器4的通道3的极性捕获,这里是上升沿捕获
TIM_ClearITPendingBit(TIM4, TIM_IT_CC3|TIM_IT_Update); 这个是中断标志位清除,当产生中断时,寄存器会写相应的标志位
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; //PA0 清除之前设置
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //PA0 输入
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_ResetBits(GPIOB,GPIO_Pin_8); //PA0 下拉
在上面那个地方,把IO口的速度GPIO_Speed加上去,其他看上去没什么问题,可以下到板子上测试
一周热门 更多>