STM32F103RCT6记录ms级时间

2019-08-12 16:39发布

本帖最后由 cxlstm32 于 2017-10-25 20:55 编辑

目前用STM32F103RCT6这款板子,需要的功能是:检测4个外部中断①②③④,在处理中断函数中,需要记录下时间,最后计算出T=(④-①)*(①-② + ③-④)。可以看出,这些时间都是相对的,但是单位需要ms,不知各位大神能否指点个办法啊。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
SimpleLife
1楼-- · 2019-08-12 21:30
四个外部中断是随机性触发吗?是否存在多个同时触发的情况
DreamWaterPro
2楼-- · 2019-08-12 22:43
可以这样子的,先初始化一个定时器设置为1ms触发一次,同时定义一个全局变量timerCounter=0,每进一次定时器中断就timerCounter++;然后初始化外部中断,并且声明对应于四个中断的全局变量EXTItime_1~EXTItime_4,每次进入外部中断的服务函数都会执行EXTItime_n=timerCounter的操作(n=1,2,3,4)。这样就可以计算相对时间了。
yuzeyuan1
3楼-- · 2019-08-13 02:29
想记录进入中断后共消耗了多少时间才出来?中断中理论上不能写很多代码,根本用不上ms级吧?

一周热门 更多>