OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2017|回复: 6

为什么宏定义会出错?

[复制链接]

3

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
137
金钱
137
注册时间
2018-11-7
在线时间
40 小时
发表于 2018-11-17 18:35:36 | 显示全部楼层 |阅读模式
1金钱
    我想通过宏定义来操作LCD显示屏,按照下列两种方式写在头文件中,但编译出错,提示:未识别的预处理指令(Error[Pe011]: unrecognized preprocessing directive ),请问这是什么原因?

#difine LCD_RST_SET() do{GPIO_SetBits(GPIOB,GPIO_Pin_8);}while(0);

#difine LCD_RST_SET GPIO_SetBits(GPIOB,GPIO_Pin_8);


最佳答案

查看完整内容[请看2#楼]

#difine LCD_RST_SET() do{GPIO_SetBits(GPIOB,GPIO_Pin_8);}while(0); 或 #difine LCD_RST_SET GPIO_SetBits(GPIOB,GPIO_Pin_8); 你再仔细看看,看哪里写错了!错的很明显!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

349

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1046
金钱
1046
注册时间
2017-5-19
在线时间
335 小时
发表于 2018-11-17 18:35:37 | 显示全部楼层

#difine LCD_RST_SET() do{GPIO_SetBits(GPIOB,GPIO_Pin_8);}while(0);

#difine LCD_RST_SET GPIO_SetBits(GPIOB,GPIO_Pin_8);

你再仔细看看,看哪里写错了!错的很明显!
回复

使用道具 举报

33

主题

1628

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6679
金钱
6679
注册时间
2015-8-25
在线时间
1036 小时
发表于 2018-11-17 19:52:48 | 显示全部楼层
把最后的那个分号去掉
#difine LCD_RST_SET() do{GPIO_SetBits(GPIOB,GPIO_Pin_8);}while(0)

#difine LCD_RST_SET GPIO_SetBits(GPIOB,GPIO_Pin_8)
调用的时候:LCD_RST_SET();
                  或者LCD_RST_SET;
He who fights with monsters should look to it that he himself does not become a monster, when you gaze long into the abyss, the abyss also gazes into you.
过于执着就会陷入其中,迷失自己,困住自己。
回复

使用道具 举报

3

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
137
金钱
137
注册时间
2018-11-7
在线时间
40 小时
 楼主| 发表于 2018-11-17 20:24:25 | 显示全部楼层
感谢回复!不过我将您的代码复制粘贴后编译仍报错,是不是IAR哪里还没有设置好的原因?

我这样定义能够编译通过:

#define LCD_RST GPIO_Pin_8; //复位脚①
回复

使用道具 举报

3

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
137
金钱
137
注册时间
2018-11-7
在线时间
40 小时
 楼主| 发表于 2018-11-18 09:07:43 | 显示全部楼层
感谢楼上的回复!我是初学32位单片机,正在入门,很多知识还不懂。这两句代码我反复检查了多遍,仍找不到错误的原因,其中的分号我删除了也同样编译错误,还请楼上不吝赐教!
回复

使用道具 举报

4

主题

349

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1046
金钱
1046
注册时间
2017-5-19
在线时间
335 小时
发表于 2018-11-18 14:14:11 | 显示全部楼层
#difine
回复

使用道具 举报

3

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
137
金钱
137
注册时间
2018-11-7
在线时间
40 小时
 楼主| 发表于 2018-11-18 15:45:37 | 显示全部楼层
谢谢了!我真是太粗心了!
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-21 23:22

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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