OpenEdv-开源电子网

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

#if #else #endif 使用时的问题,求解答!

[复制链接]

33

主题

92

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
280
金钱
280
注册时间
2013-6-18
在线时间
15 小时
发表于 2014-4-21 10:55:49 | 显示全部楼层 |阅读模式
#define USE_HORIZONTAL  0 //定义是否使用横屏 0,不使用.1,使用. 
#if USE_HORIZONTAL 
#define LCD_W 319  //屏幕宽
#define LCD_H 239  //屏幕高
#else
#define LCD_W 239  //屏幕宽
#define LCD_H 319  //屏幕高
#endif
/////////////////////////////////////////////////////////////////////////////////////////////

不管USE_HORIZONTAL 的值为什么,都执行的是
#define LCD_W 319  //屏幕宽
#define LCD_H 239  //屏幕高

是这样的,我在写ILI935程序的时候,定义了横屏和竖屏,最开始的时候还好,指令执行都很正常,
我就没有在管这部分的东西了,继续写,显示图片,汉字的程序,写了很多,回过头在来切换横屏和竖屏的时候,
发现始终未横屏,发现#if 语句失效,不清楚什么原因,中途从未动过有关横屏竖屏的任何东西,
以前也碰到过类型的事情,就是仿照原子代码自己写的时候,发现#if语句直接失效,不管怎么改都是固定的值,
没有直系的深究,现在不得不重视了,本人初学不久,能力有限,还请论坛的朋友多多帮助!
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
以下是程序编译后的结果,和启动文件栈的定义。
原子mini开发板 芯片 STM32f103RBT6 启动文件为自带的,  




、、、、、、、、、、、、、、、、、、、、

一知半解!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

33

主题

92

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
280
金钱
280
注册时间
2013-6-18
在线时间
15 小时
 楼主| 发表于 2014-4-21 11:10:20 | 显示全部楼层
, MDK3.8 服了。

原因在,我更改的东西根本没有被重新编译,比如你打开了2个 LCD.h 文件 对其中的一个文件中的
#define USE_HORIZONTAL  1 进行修改,能有可能导致一个修改有效,一个修改无效的情况,
两个文件只有一个本编译,有时候你打开一个LCD.h文件时也是一样的,你必须先切让这个文件是不是被编译的文件。
我的情况是属于后一中,我打开的LCD.h不被系统编译,怎么改都是无用,吧这个文件关闭,在重新打开,确保这个文件时“最新的”,
是被系统编译的那一个,就ok了,我说的可能不太专业,以前犯过一次错的,就是没长记性。 大家也留个心眼。
一知半解!
回复 支持 反对

使用道具 举报

26

主题

261

帖子

1

精华

高级会员

Rank: 4

积分
734
金钱
734
注册时间
2013-11-1
在线时间
28 小时
发表于 2014-4-21 20:53:57 | 显示全部楼层
回复【2楼】liawei123:
---------------------------------
就是全部编译一次
回复 支持 反对

使用道具 举报

33

主题

92

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
280
金钱
280
注册时间
2013-6-18
在线时间
15 小时
 楼主| 发表于 2014-4-22 09:10:23 | 显示全部楼层
回复【3楼】zhao305149619:
---------------------------------
就是全部编译也无用,我几乎都是全部编译。
一知半解!
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-9 19:37

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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