几个关于输出捕获函数的问题

2019-08-17 00:47发布

         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);
我就是这些通道分不清楚

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
虾兵蟹将
1楼-- · 2019-08-17 03:51
本帖最后由 虾兵蟹将 于 2017-7-13 16:48 编辑

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); 这个是中断标志位清除,当产生中断时,寄存器会写相应的标志位


王小华
2楼-- · 2019-08-17 06:37
定时器4的第三通道实现输入捕获
大楠神
3楼-- · 2019-08-17 11:41
 精彩回答 2  元偷偷看……
虾兵蟹将
4楼-- · 2019-08-17 11:44
本帖最后由 虾兵蟹将 于 2017-7-13 17:28 编辑

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加上去,其他看上去没什么问题,可以下到板子上测试

一周热门 更多>