
最近STM32F103的外部中断触发采集一组方波信号数据,但是发现数据总是不正确,怀疑是中断延迟即处理时间偏长导致的,所以测试了一下STM32F103的外部中断相应时间(中断触发信号有效到中断服务程序I/O输出之间的时间),测试信息如下: 1. 测试环境——STM32F103 @72MHz, 只配置几个输出端口和2个外部中断(端口速度配置位50MHz),但是只有一个有外部触发信号,中断服务程序直接输出测试端口状态,格式如下:
2. 测试设备:Tektronix TBS1102 @ 100MHz-1GS/s 3. 测试结果:中断响应时间约410 ns,波形如下: ![]() 如果中断服务中有参数定义,则时间也会怎加,我在中断里定义了两个8 位的变量,时间会增加到500ns。 如果在增加中断服务中边沿判断功能:
增时间增加到1000ns,波形如下: ![]() 在测试之气前,我以为中断响应时间都是很小的如200 ns设置更小,今天实测之后才发现...... |
确实是这样的,使用寄存器延迟会更小,在中断函数里定义局部变量也是要耗时间的。。。
暂时用不到,换个其他的方案试试。。。
不用不知道,一用吓一跳吧