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

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

用stm32cubeide生成的STM32G030F6P6代码只要一开中断,任何中断程序都会跑飞.

[复制链接]
谭力宁 提问时间:2024-4-18 14:25 / 未解决

求助,用stm32cubeide生成的STM32G030F6P6代码只要一开中断,任何中断程序都会跑飞.这个问题是在我升级stm32cubeide后出现的,以前用的正常,升级后重新编译后出现这个现象,但是现在重新安装低版本的也不行了。新建工程也不行

收藏 评论10 发布时间:2024-4-18 14:25

举报

10个回答
butterflyspring 回答时间:2024-4-18 14:40:36
有没有同系列其他型号试试,对比一下,最好能运行官方例程的。
谭力宁 回答时间:2024-4-18 14:49:26

butterflyspring 发表于 2024-4-18 14:40
有没有同系列其他型号试试,对比一下,最好能运行官方例程的。

我手里没有G0系列的其他mcu,但我试过了F1的没有问题。就是很离谱,这个代码产品都出了好多了现在跑不起来了

知足- 回答时间:2024-4-18 16:19:30

只有生成的代码,没添加一句自己的代码吗?

谭力宁 回答时间:2024-4-18 16:30:12

知足- 发表于 2024-4-18 16:19
只有生成的代码,没添加一句自己的代码吗?

是的新建的工程,一开中断就飞了.......

butterflyspring 回答时间:2024-4-18 17:42:20

谭力宁 发表于 2024-4-18 16:30
是的新建的工程,一开中断就飞了.......

用 cubemx 生成其他 IDE的工程,对比一下是否也飞了

xmshao 回答时间:2024-4-19 09:35:16
不知你具体使用什么CubeIDE版本,我刚才基于STM32CubeIDE的V1.15和STM32G070的板验证,
没有什么不对劲的地方。


我也是基于CubeMx新建的工程,开启了TIMER的比较中断,在中断里做GPIO翻转都正常。当然
TIMER的PWM输出也正常。


会不会是板子方面的问题? 还是说堆栈配置方面的问题?


按理说测试代码简单、中断少话对栈的需求量也不大。不妨检查下CubeMx堆栈配置那个地方。
xmshao 回答时间:2024-4-19 10:43:03

会不会是硬件方面的原因呢?

我刚才使用STM32CubeIDE v1.15新建了一个G071带外设中断的工程,没发现啥问题。

还有是不是你栈设置得过小。不过一般来讲,对于小测试工程默认也够了。

谭力宁 回答时间:2024-4-19 13:36:58

butterflyspring 发表于 2024-4-18 17:42
用 cubemx 生成其他 IDE的工程,对比一下是否也飞了

那没有测试,目前知道是中断向量表问题,在main函数重新设置就好了。引起这个问题的原因不明。

谭力宁 回答时间:2024-4-19 13:38:07

xmshao 发表于 2024-4-19 10:43
会不会是硬件方面的原因呢?</p>
<p>我刚才使用STM32CubeIDE v1.15新建了一个G071带外设中断的工程,没发现啥 ...

[md]谢谢,目前找到原因是中断向量表问题,没有被初始化,在main函数重新初始化就好了。引起这个问题的原因不明。

Glenxu 回答时间:5 天前

还好了,我同时用了几个中断,没发现过问题。

重点是中断合理分级别,中断响应程序内需要再次确认,尽量将不需要紧急处理的程序放到主程序里执行,也就是中断程序尽量小。

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