STM32
直播中

CDCNKA

9年用户 1246经验值
擅长:385288
私信 关注
[问答]

STM32F103程序移植到F105上,中断不能及时响应的原因?怎么解决?

遇到一个奇怪的问题,

现在开发系统,对时间要求比较严格,每60us管脚会接收一个外部中断,中断函数里调用SPI的DMA传输出固定数组,

之前使用STM32F103RFT6没有问题

现在换到STM32F405RGT6, 在仅打开外部中断和DMA、SPI时候是工作正常的,

但是!一旦打开了tiM中断(2ms执行一次ADC)或者打开了串口,就发现外部中断响应会不及时,,外部中断不能被及时响应,总会有2-3us左右的延迟

除了中断优先级还有哪里可以解决这个问题吗
DMA、SPI、外部管脚中断优先级和抢占优先级都已经是最高为0(其余外设优先级在1以上)

那么为什么F103可以及时响应中断,F405在外设运行时无法及时响应外部中断呢?

奇怪的是,如果把(Optimize for time)选上、把优化级别由0改为2,延迟会明显少一些,但是仍然会有1us左右延迟。。


执行外设工作(ADC、串口)不能及时响应外部中断这种情况有人遇到过吗?求解决思路谢谢~~~

回帖(1)

张浩

2024-4-23 09:31:12
建议你看一下时钟配置。F103的系统默认外部高速晶振是8M,而F105/107是互联型的默认外部晶振的25M
举报

更多回帖

发帖
×
20
完善资料,
赚取积分