野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 23846|回复: 3

学习构建库函数时一直报main.c(51): error: #18: expected a )错误

[复制链接]
发表于 2021-8-11 00:11:30 | 显示全部楼层 |阅读模式
在学习构建库函数时,一直报如下故障:

main.c(51): error:  #18: expected a )
          RCC-APB2ENR |=1;
main.c(53): error:  #18: expected a )
          GPIOB-CRL &=~((0x0f)  (4*0));
main.c(54): error:  #18: expected a )
          GPIOB-CRL |= ( (1)  (4*0) );
main.c(56): error:  #18: expected a )
    GPIO_SetBits(GPIOB , GPIO_Pin_0);
main.c: 0 warnings, 4 errors
compiling stm32f10x_gpio.c...
.\Objects\LED-REG.axf - 4 Error(s), 0 Warning(s).

一直报上面的错误,有没有大佬知道怎么解决,非宏定义#define语句后加“;”号的问题。

QQ截图20210811000918.jpg
QQ截图20210811000753.jpg
QQ截图20210811000849.jpg
QQ截图20210811001018.jpg
回复

使用道具 举报

发表于 2021-8-11 09:02:39 | 显示全部楼层
把#elseif 1改为#else。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-8-11 20:01:42 | 显示全部楼层
hansome 发表于 2021-8-11 09:02
把#elseif 1改为#else。

首先很感谢~但还是有些疑问需要请教。
我是将main.h中 #elif 1  改为了 #elseif 1 后问题解决掉了,但只要把#if1 、#elseif 1 、#endif全都移除后,问题又重新出现了??感觉没有根本上解决这个问题C:\Users\林囧猫\Desktop
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-8-11 22:40:38 | 显示全部楼层
问题解决了~~ stm32f10x.h 文件下的#define PERIPH_BASE   ((unsigned int) 0x40000000) 写错成了#define PERIPH_BASE   (unsigned int 0x40000000) ,漏了括号,导致类型转换失败。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-24 12:42 , Processed in 0.060733 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表