硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3495|回复: 3
收起左侧

[有问必答] STM32F407捕获的问题

[复制链接]

7

主题

10

回帖

31

积分

新手上路

积分
31
发表于 2017-8-17 16:51:48 | 显示全部楼层 |阅读模式
现在用STM32F407的定时器做输入脉冲上升沿捕获,脉冲频率4000Hz,脉冲信号是连续的,STM32F407始终处于捕获状态。开始时正常,过一段时间一般运行几分钟或十几分钟,会出现丢捕获获脉冲的现象(脉冲上升沿已经发出了),STM32的捕获引脚用了上拉和下拉都是这个情况。中断程序很小,只清除了捕获标志,用一个变量做中断计数,不会存在程序在中断里面运行时间过长。始终找不到原因,请版主指点一下。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117586
QQ
发表于 2017-8-17 17:35:33 | 显示全部楼层
你当前定时器的计数分辨率设置的多少,提高下看看,即重新配置下定时器的分频和周期。

另外就是,让程序仅干脉冲计数这个事情,也测试下。
回复

使用道具 举报

7

主题

10

回帖

31

积分

新手上路

积分
31
 楼主| 发表于 2017-8-17 17:53:20 | 显示全部楼层
我用的是TIM9的通道2,计数器分频是0(1),计数周期是0xFFFF,中断程序也很小,另外发现STM32的捕获设置完毕后,发现外部脉冲送到STM32捕获引脚后,在状态寄存器SR等于0的情况下发生定时器中断,为什么会出现这个情况?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117586
QQ
发表于 2017-8-17 18:56:43 | 显示全部楼层

回 sflxq 的帖子

sflxq:我用的是TIM9的通道2,计数器分频是0(1),计数周期是0xFFFF,中断程序也很小,另外发现STM32的捕获设置完毕后,发现外部脉冲送到STM32捕获引脚后,在状态寄存器SR等于0的情况下发生定时器中断,为什么会出现这个情况?

(2017-08-17 17:53)
TIM9的话,时钟就是84MHz,计够21000的时候就是一个4000Hz的脉冲,你可以设置个2分频,4分频,看看,是否有所改善。

是调试状态产生的吗,也有可能是没有反应过来,可以用信号发生器发送一个高低电平的脉冲看看,全速运行,中断里面读取打印下是否正常。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-16 21:21 , Processed in 0.037507 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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