标题: KEIL5编译出error: #18: expected a ")"问题 [打印本页]

作者: forcexda    时间: 2022-12-4 10:14
标题: KEIL5编译出error: #18: expected a ")"问题
移植代码的过程中,发现了这个问题,一直没法解决,标点和define都看过了,define的后面也没有加分号,出错的地方看了括号和标点也是英文标点,也百度了不少了,没有一个答案符合我的问题,对了,这个工程是同过stm32cubemx生成的。但是就是生error:  #18: expected a ")"这个错误

捕获11.PNG (115.08 KB, 下载次数: 91)

捕获11.PNG

作者: 杰之都    时间: 2022-12-4 12:08
少了分号吧,或者中文分号吧
作者: forcexda    时间: 2022-12-4 13:02
杰之都 发表于 2022-12-4 12:08
少了分号吧,或者中文分号吧

检查过了,分号是英文分号,也没少
作者: Hephaestus    时间: 2022-12-4 18:54
杰之都 发表于 2022-12-4 12:08
少了分号吧,或者中文分号吧

如果你猜得对,那么就会有一系列错误,然后下面的语句并没有报错。

就是0b***纯粹是瞎写的造成的。
作者: lanzhengzheng    时间: 2022-12-4 20:12
应该是0b1这个东西有问题,把这个改成其他的试试?
作者: 人中狼    时间: 2022-12-4 20:44
这个问题往上找,这行代码前的内容有错,也有可能是这行代码前的头文件内有错,代码不全,没法分析
作者: Hephaestus    时间: 2022-12-4 20:49
人中狼 发表于 2022-12-4 20:44
这个问题往上找,这行代码前的内容有错,也有可能是这行代码前的头文件内有错,代码不全,没法分析

因为98~113行,115~116行,118~119行,以及121行以后全部代码都没有报错,所以你的说法完全不正确,看问题要仔细。
作者: 子不在    时间: 2022-12-5 00:05
试试使用升级编译器,使用Compiler6
作者: Hephaestus    时间: 2022-12-5 06:10
子不在 发表于 2022-12-5 00:05
试试使用升级编译器,使用Compiler6

升级什么编译器都不可能支持0b***这种语法,仔细看题目,看不懂不要乱说。
作者:     时间: 2022-12-5 08:49
把95-97行的 0b**改成0x0b**试试
作者: 1261867136qq    时间: 2022-12-5 09:17
按照五一经验,刚开始出现提示的地方在line 95 ,那么,大概率得往前看,然后 ,大概率可能是变量问题?

具体,可以放入神器  VSCODE ,或者 inscoure light 里面看看, 会有颜色不一样的提示
作者: Longan.Wang    时间: 2022-12-5 09:28
我以前也遇到过这种情况,基本上都没有正常包含头文件或者头文件错误导致的。
不知道,你是不是这种情况。
作者: xiaoshan7748    时间: 2022-12-5 09:54
楼上已经有人说过了,就是数据进制写错了,keil不直接支持二进制,直接写0bxx会报错的,改成十六进制或者十进制就没问题了
作者: ml521    时间: 2022-12-5 10:29
也有可能是你前面头文件定义有点问题
作者: forcexda    时间: 2022-12-5 16:36
Hephaestus 发表于 2022-12-4 18:54
如果你猜得对,那么就会有一系列错误,然后下面的语句并没有报错。

就是0b***纯粹是瞎写的造成的。

是的是的,感谢大佬,这个问题确实是这个16进制写的有问题,改了以后就不报错了,还有就是可以修改keil编译器版本为ac6,也可以不改就通过(第二种方法不知道在实际应用中这么做是不是合适)
作者: forcexda    时间: 2022-12-5 16:37
子不在 发表于 2022-12-5 00:05
试试使用升级编译器,使用Compiler6

对对,没错了,感谢大佬,这确实也是一个好办法
作者: forcexda    时间: 2022-12-5 16:37
xiaoshan7748 发表于 2022-12-5 09:54
楼上已经有人说过了,就是数据进制写错了,keil不直接支持二进制,直接写0bxx会报错的,改成十六进制或者十 ...

也可以通过修改编译器版本解决
作者: forcexda    时间: 2022-12-5 16:38
ml521 发表于 2022-12-5 10:29
也有可能是你前面头文件定义有点问题

不是呢,这个函数没有在前面定义
作者: forcexda    时间: 2022-12-5 16:39
Longan.Wang 发表于 2022-12-5 09:28
我以前也遇到过这种情况,基本上都没有正常包含头文件或者头文件错误导致的。
不知道,你是不是这种情况。

不是了,上面的两种方法都可以解决,我已经尝试了,嘿嘿,感谢回答我的问题
作者: forcexda    时间: 2022-12-5 16:40
再次感谢各位大佬回答我的问题,这个问题可以结贴了,有两种方法可以解决报错,具体可以看评论区,感谢各位大佬百忙中回复我的问题!!
作者: lanshenlan    时间: 2022-12-5 17:38
把0bxx改成十六进制或者十进制,keil不直接支持二进制




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1