最近STM32F103的外部中断触发采集一组方波信号数据,但是发现数据总是不正确,怀疑是中断延迟即处理时间偏长导致的,所以测试了一下STM32F103的外部中断相应时间(中断触发信号有效到中断服务程序I/O输出之间的时间),测试信息如下: 1. 测试环境——STM32F103 @72MHz, 只配置几个输出端口和2个外部中断(端口速度配置位50MHz),但是只有一个有外部触发信号,中断服务程序直接输出测试端口状态,格式如下:
2. 测试设备:Tektronix TBS1102 @ 100MHz-1GS/s 3. 测试结果:中断响应时间约410 ns,波形如下:. S) B! e0 V: g; o# ?/ w. y j9 r* u2 L9 r; I; D8 S 如果中断服务中有参数定义,则时间也会怎加,我在中断里定义了两个8 位的变量,时间会增加到500ns。 P$ I! Z& ^9 F 如果在增加中断服务中边沿判断功能:
增时间增加到1000ns,波形如下: 8 g- {9 }5 K: N 在测试之气前,我以为中断响应时间都是很小的如200 ns设置更小,今天实测之后才发现......6 e1 W) y8 a- `% D, z) j, z( H |
STM32固件库分享,超全系列整理
小马哥STM32F103开源小四轴RoboFly全部资料大放送
【MCU实战经验】+STM32F107的USB使用
基于STM32F103两轮平衡小车设计(开源)
STM32F107VCT6官方原理图和PCB
【福利】用STM32库的朋友有福了:STM32F10x_StdPeriph_Lib_V3.5.0chm...
基于STM32F10xx存储器和系统架构经验分享
基于STM32F1的CAN通信之BH1750
基于STM32F1的CAN通信之OLED
基于STM32F1的CAN通信之之串口IAP
确实是这样的,使用寄存器延迟会更小,在中断函数里定义局部变量也是要耗时间的。。。
暂时用不到,换个其他的方案试试。。。
不用不知道,一用吓一跳吧