OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3759|回复: 2

STM32F429关于输入捕获占空比计算的问题

[复制链接]

31

主题

107

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2795
金钱
2795
注册时间
2015-12-30
在线时间
343 小时
发表于 2022-1-8 12:19:06 | 显示全部楼层 |阅读模式
1金钱
void TIM2_IRQHandler(void)
{                     
                if(TIM_GetITStatus(TIM2, TIM_IT_CC1) != RESET)//捕获1发生捕获事件
                {       
                        if(TIM2CH1_CAPTURE_STA==1)                //捕获到一个下降沿                
                        {                                 
                                TIM2CH1_CAPTURE_STA=0;                //标记成功捕获到一次高电平脉宽
                          TIM2CH1_CAPTURE_VAL=TIM_GetCapture1(TIM2);//获取当前的捕获值.
                                TIM_Cmd(TIM2,DISABLE );         //关闭定时器5
                                 TIM_SetCounter(TIM2,0);
                                 TIM_OC1PolarityConfig(TIM2,TIM_ICPolarity_Rising);                //CC1P=1 设置为上升沿捕获
                                TIM_Cmd(TIM2,ENABLE );         //使能定时器5                               
                        }                       
                        else                                                                  //捕获上升沿
                        {
                                TIM2CH1_LowCAPTURE_VAL=TIM_GetCapture1(TIM2);//获取当前的捕获值.
                                TIM2CH1_CAPTURE_STA = 1;                //标记捕获到了上升沿
                                TIM_Cmd(TIM2,DISABLE );         //关闭定时器5
                                 TIM_SetCounter(TIM2,0);
                                 TIM_OC1PolarityConfig(TIM2,TIM_ICPolarity_Falling);                //CC1P=1 设置为下降沿捕获
                                TIM_Cmd(TIM2,ENABLE );         //使能定时器5
                        }                    
                }                                                                                   
        TIM_ClearITPendingBit(TIM2, TIM_IT_CC1|TIM_IT_Update); //清除中断标志位
}

TIM2CH1_LowCAPTURE_VAL获取一直是0,
TIM2CH1_CAPTURE_VA可以正常获取,
不知道为何,大神们提提意见,谢谢







最佳答案

查看完整内容[请看2#楼]

可以仿真进去读一下寄存器的值对不对
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

13

主题

643

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2432
金钱
2432
注册时间
2019-12-28
在线时间
527 小时
发表于 2022-1-8 12:19:07 | 显示全部楼层
可以仿真进去读一下寄存器的值对不对
回复

使用道具 举报

31

主题

107

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2795
金钱
2795
注册时间
2015-12-30
在线时间
343 小时
 楼主| 发表于 2022-1-8 17:03:09 | 显示全部楼层
狼里个狼121 发表于 2022-1-8 15:41
可以仿真进去读一下寄存器的值对不对

谢谢,找到问题了,PWM和输入捕获不用一个定时器就好了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-26 05:58

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表