STM32F103的外中断响应时间多长?
本帖最后由 艺术就是爆炸 于 2015-4-2 16:41 编辑手册等资料说是6个周期,但是我在72M时钟下运行时发现基本上在1us左右。也就是72周期。
测试方法是用示波器观察比较外输出信号下降沿和中断程序起始执行时间差,我在中断程序内加了个端口输出高和低,每次进中断就会输出一次。
目前已经排除因素有:
1 无其他中断
2 外中断服务函数执行顺序
3 输出引脚速度
4 时钟设置
更新:刚刚找到个中断没关,屏蔽后时间下降到400ns,但是感觉还是偏大了些。
补充:没有运行操作系统,主要为库函数编程 顶一下:( 学习了 就算进中断的时间是6clk
进行IO翻转也要些时间吧
而且和IO配置也会有关系 没认真研究过,是什么实时性要求很高的应用吗 没测试过 IO设置为50Mhz的试试。 IO速度配置为HIGH了,IO操作方式尝试过位带和端口寄存器置位和清除,速度差不多
我使用tim1测量的结果是0x36个时钟周期
测试代码如下:
void EXTI0_IRQHandler(void)
{
volatile uint32_t i=0;
TIM_Cmd(TIM1,DISABLE);
i++;
TIM_SetCounter(TIM1,0x0);
TIM_Cmd(TIM1,ENABLE);
}
进了中断后不清楚中断标志位,tim1 的配置是无div 无预分频,时钟为72MHz,sysclok=72MHz
页:
[1]
2