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

使用Keil编译的时候else里的语句没有编译

[复制链接]
yyjyyj 提问时间:2023-11-16 10:55 / 未解决

最近遇到了一个编译问题,我在stm32f4xx_it.c文件中的CAN2_RX0_IRQHandler函数里编写了一个if——else if ——else语句,但调试的时候发现elseif 和else里的语句都没编译,打不上断点,也没有相应的汇编语句。但是把else换成if之后,里面的语句则可以被编译。我魔术棒里优化等级也选择的level0,但是并没有解决问题,求大佬指点

image.png

image.png

收藏 评论4 发布时间:2023-11-16 10:55

举报

4个回答
watershade 回答时间:2023-11-16 17:53:06

如果没猜错,你的应该是AC6的编译器。安富莱的汉哥有一篇专门讲IAR和KEIL编译的问题。我也开始从KEIL转投IAR或者STM32IDE了

butterflyspring 回答时间:2023-11-16 14:10:53
可以比较一下,换另一给编译器试试。

是否参与编译或者编译成什么样的汇编语言是编译器决定的。

看看不同公司的编译器是不是有这样的区别。
5RP2E 回答时间:2023-11-16 15:43:15

把编译后文件都删了重新编译一下呢?

Heeloo 回答时间:2023-11-22 08:44:17

watershade 发表于 2023-11-16 17:53
如果没猜错,你的应该是AC6的编译器。安富莱的汉哥有一篇专门讲IAR和KEIL编译的问题。我也开始从KEIL转 ...

[md]IAR 里可在函数定义前一行增加这一句,keil 的不知道可不可以。 你试一下。

pragma optimize=none

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版