myj2050 发表于 2016-2-22 00:00:34

请问外部中断如何触发定时器计数,谢谢

https://www.stmcu.org.cn/module/forum/forum.php?mod=image&aid=360229&size=300x300&key=633b49953c2f8582&nocache=yes&type=fixnone
用定时器1产生了100khz的50%占空比的方波 -----绿色
外部有一个5-10hz不定的方波。-----紫色
需要在外部方波上升沿开始计数,到下降沿结束,精确统计100Khz方波输出正脉冲的个数(如图所示正脉冲为20002个)

现在能够想到的是另开一个100Khz的定时器2,上升沿中断来临时,在中断中开始将cnt设置为0,同时将外部中断设置为下降沿,下降沿中断来临时读取定时器2的cnt计数值。不知是否可行或有更好的办法。

请有经验的朋友帮忙下,或者提点一些思路,多谢了。



钊钊 发表于 2016-2-22 01:32:33

可以的,外部中断设置成上升下降触发,中断函数里面写入定时器的开关函数就好了,可以做到的

myj2050 发表于 2016-2-24 01:43:18

我测试了,100khz还是没问题的,但中断开销不少,如果能直接利用定时器计数就好了。stm32的定时器还是没学精啊

xmshao 发表于 2016-2-24 21:50:23

你可以试试门控模式。

myj2050 发表于 2016-2-28 09:50:59

xmshao 发表于 2016-2-24 21:50
你可以试试门控模式。

已经可以了,谢谢指点

doudou4519 发表于 2018-2-2 11:09:36

你好,我也正在这问题上为难,能把例程给发一遍么。万分感谢
页: [1]
查看完整版本: 请问外部中断如何触发定时器计数,谢谢