请选择 进入手机版 | 继续访问电脑版

你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F103程序移植到F105上,中断不能及时响应问题求助~!

[复制链接]
aceking1123 提问时间:2019-3-12 16:37 /
遇到一个奇怪的问题,

现在开发系统,对时间要求比较严格,每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、串口)不能及时响应外部中断这种情况有人遇到过吗?求解决思路谢谢~~~

收藏 评论5 发布时间:2019-3-12 16:37

举报

5个回答
3111272 回答时间:2019-3-13 08:40:04
建议你看一下时钟配置。F103的系统默认外部高速晶振是8M,而F105/107是互联型的默认外部晶振的25M

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

aceking1123 回答时间:2019-3-14 10:12:18
3111272 发表于 2019-3-13 08:40
建议你看一下时钟配置。F103的系统默认外部高速晶振是8M,而F105/107是互联型的默认外部晶振的25M ...

谢谢回复,晶振是正常的,串口波特率和spi波特率都正常,,,,,F105已经设置成168Mhz的主频了哈,只是在有外设工作起来,无法快速被响应
五哥1 回答时间:2019-3-25 13:12:20
楼主表达的内容是不是F103R上的程序移植到F405上就出现问题了,排除硬件问题,这两个芯片的内核是不同的,F105不能设置成168MHZ,只有F405才能设置成168MHZ,还有看看手册吧,F1移植到F4的注意事项。
可以看下这个     AN4649-5. 应用笔记(L4+)-意法半导体STM32/STM8技术社区 https://www.stmcu.org.cn/document/detail/index/id-216233,虽然是移植到L4的,接近F4。
在资料下载,ST MCU实战经验里面搜索“移植”把各种型号之间的移植到打开看看。

评分

参与人数 1蝴蝶豆 +3 收起 理由
STMCU + 3

查看全部评分

aceking1123 回答时间:2019-3-25 17:17:16
五哥1 发表于 2019-3-25 13:12
楼主表达的内容是不是F103R上的程序移植到F405上就出现问题了,排除硬件问题,这两个芯片的内核是不同的,F ...

你好,是移植出问题,不是工作频率的问题,而是串口波特率和SPI波特率都能正常工作,而在串口工作起来。。外部中断不能快速响应

感觉就像F405圧栈稍微慢了2us的样子

我现在在研究圧栈深度是不是影响了响应速度。。各种看资料无果啊。。
五哥1 回答时间:2019-3-25 19:10:25
aceking1123 发表于 2019-3-25 17:17
你好,是移植出问题,不是工作频率的问题,而是串口波特率和SPI波特率都能正常工作,而在串口工作起来。 ...

我说,要论移植性,用CUBEMX就体现优势了。HAL库的最初设计是不是就为了移植呐。

评分

参与人数 1蝴蝶豆 +3 收起 理由
STMCU + 3

查看全部评分

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版