OpenEdv-开源电子网

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

stm32f103 高级定时器输入捕获

[复制链接]

14

主题

70

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
213
金钱
213
注册时间
2020-7-3
在线时间
71 小时
发表于 2021-3-5 20:40:34 | 显示全部楼层 |阅读模式
10金钱
本帖最后由 暮二木 于 2021-3-10 21:22 编辑

有人知道stm32可以捕获动态的脉冲信号的频率吗,此脉冲信号是电机的测速信号,频率是变化的,有时会变得很快,但是频率不超过500HZ,
在脉冲信号的频率变高的时候捕获的频率突然有几个高频率,但是在频率变低的时候就没有,有没有大佬知道怎么解决这个问题啊,这个是捕获中断的代码TIM8_Init(0xFFFF,(72-1));
void TIM8_CC_IRQHandler(void)
{
    if(TIM_GetITStatus(TIM8, TIM_IT_CC3) != RESET)
    {
        TIM_ClearITPendingBit(TIM8, TIM_IT_CC3);    //清除中断标志位
        thiscount = TIM_GetCapture3(TIM8);      //记录第一次上升沿的CNT值

        if(lastcount < thiscount) //捕获第二个上升沿
        {
           test = thiscount - lastcount;       //两次上升沿的差值  
                                }                                       
         else
           {
              test = (0xffff - lastcount) + thiscount; //两次上升沿的差值
           }
                                                lastcount=thiscount;
            fq = 1000000 / test;                 //脉冲的频率
                        
        }

}






图片1.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

14

主题

70

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
213
金钱
213
注册时间
2020-7-3
在线时间
71 小时
 楼主| 发表于 2021-3-5 20:40:35 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-29 00:33

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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