搜索
查看: 4953|回复: 6

[求助] 请问,关于输入捕获实验有些问题想要请教

[复制链接]

该用户从未签到

17

主题

34

帖子

0

蝴蝶豆

初级会员

最后登录
2021-3-27
发表于 2021-3-15 15:04:53 | 显示全部楼层 |阅读模式
3ST金币
在我圈的当中,定时器5很明显使设置了上升沿捕获,中断使能也是更新中断和捕获中断,也就是说,只要捕获到上升沿,就会进入中断函数执行程序,接着,中断函数就会判断是不是捕获到了下降沿,这个是没有问题的,但是,在中断函数中,他居然出现了捕获上升沿,这是为啥?就是因为捕获到了上升沿才进入到的中断函数,中断函数再次捕获上升沿是什么鬼?

`)@9(U$BI5RF{K@@5~AW113.png
1JMBJ`WAA85G}L]0LGFD555.png
回复

使用道具 举报

该用户从未签到

0

主题

8

帖子

0

蝴蝶豆

初级会员

最后登录
2021-4-24
发表于 2021-3-18 17:34:54 | 显示全部楼层
这是因为高电平时间太长了,要计时的话一次中断可能不够,所以先标记一次,后面会累加时间的。
回复

使用道具 举报

该用户从未签到

17

主题

34

帖子

0

蝴蝶豆

初级会员

最后登录
2021-3-27
 楼主| 发表于 2021-3-19 13:36:40 | 显示全部楼层
duyi324 发表于 2021-3-18 17:34
这是因为高电平时间太长了,要计时的话一次中断可能不够,所以先标记一次,后面会累加时间的。 ...

可是,后面的注释是‘还未开始,第一次捕获上升沿。’。。。
回复

使用道具 举报

该用户从未签到

0

主题

8

帖子

0

蝴蝶豆

初级会员

最后登录
2021-4-24
发表于 2021-3-19 17:11:19 | 显示全部楼层
u15188757811 发表于 2021-3-19 13:36
可是,后面的注释是‘还未开始,第一次捕获上升沿。’。。。

上个回复说的不太对,整体的逻辑应该是捕获到了上升沿以后做个标记,然后再捕获下降沿,如果进入了中断发现还没到下降沿,则计数自增,也就是62-68行的逻辑。
第一次进入中断,73行会判断一下这个标记位,如果没有标记,表示这次捕获的是上升沿,然后标记TIM5CH1_CAPTURE_STA为0x40。

第二次进入中断,73行发现,TIM5CH1_CAPTURE_STA已经是0x40了,表示上升沿已经捕获过了,程序就知道这次中断要不就自增,要不就检查有没有下降沿。
回复

使用道具 举报

该用户从未签到

17

主题

34

帖子

0

蝴蝶豆

初级会员

最后登录
2021-3-27
 楼主| 发表于 2021-3-19 18:17:10 | 显示全部楼层
duyi324 发表于 2021-3-19 17:11
上个回复说的不太对,整体的逻辑应该是捕获到了上升沿以后做个标记,然后再捕获下降沿,如果进入了中断发 ...

那一般中断都会标记的吧,这个判断真的会用到吗?毕竟是因为上升沿才进入中断的啊,没有这个再次判断标记位问题也不大吧
回复

使用道具 举报

该用户从未签到

0

主题

8

帖子

0

蝴蝶豆

初级会员

最后登录
2021-4-24
发表于 2021-3-21 12:37:25 | 显示全部楼层
u15188757811 发表于 2021-3-19 18:17
那一般中断都会标记的吧,这个判断真的会用到吗?毕竟是因为上升沿才进入中断的啊,没有这个再次判断标记 ...

这个标记的不是中断,而是状态。假如第一次进中断是上升沿,这里做个标记,后面再进中断的时候判断有没有标记,有的话程序就知道该判断下降沿了。
回复

使用道具 举报

该用户从未签到

17

主题

34

帖子

0

蝴蝶豆

初级会员

最后登录
2021-3-27
 楼主| 发表于 2021-3-23 16:18:43 | 显示全部楼层
duyi324 发表于 2021-3-21 12:37
这个标记的不是中断,而是状态。假如第一次进中断是上升沿,这里做个标记,后面再进中断的时候判断有没有 ...

哦哦哦,知道了,谢谢
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

GMT+8, 2024-4-27 02:56 , Processed in 1.177860 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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