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