你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
意法半导体官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
积分商城
每日签到
可以在开发板运行过程中修改#define的值吗
[复制链接]
骨子带刺
提问时间:2016-12-7 16:46 /
在set_power.h中有#define PA 0x13,0x1D,0x15,0x14,0x18想在main.c中通过串口通信中断方式用串口命令修改PA的值,效果就像在串口工具中输入SETPA,然后串口解析命令,会让PA的值改变。这个具体的该怎么实现呢
赞
0
收藏
1
评论
9
分享
发布时间:2016-12-7 16:46
举报
请先
登录
后回复
9个回答
奏奏奏
回答时间:2016-12-7 16:55:03
a0a.1 32b0c
条件编译
一般情况下,源程序中的所有的行都参加编译。但是有时希望对其中一部分内容只在一定条件下进行编译,当条件不满足则编译另一组语句
#ifdef 标识符
程序段1
#else
程序段2
#endif
作用:已经被#define命令定义过,则在程序编译阶段只编译程序段1,否则编译程序段2
赞
0
评论
回复
支持
反对
wu1169668869
回答时间:2016-12-7 17:06:34
a0a.1 32b0c
#define在 预处理的时候就直接填充到代码里了
只是单次运行需要改变,把PA定义成数组
希望保存上次修改,存flash
评分
参与人数
1
ST金币
+2
收起
理由
zero99
+ 2
查看全部评分
赞
0
评论
回复
支持
反对
leo121_3006061
回答时间:2016-12-7 21:02:22
a1024a.1 32b0c
楼上正解
赞
0
评论
回复
支持
反对
左岸右岸
回答时间:2016-12-7 21:40:24
a0a.1 32b0c
对于#define,预编译在程序运行之前就完成了
评分
参与人数
1
ST金币
+2
收起
理由
zero99
+ 2
查看全部评分
赞
0
评论
回复
支持
反对
peter001
回答时间:2016-12-7 23:20:46
a0a.1 32b0c
预定义和变量不一样呦
赞
0
评论
回复
支持
反对
没事逛荡
回答时间:2016-12-8 09:10:00
a0a.1 32b0c
#define在编译时已经完成,你想修改的话必须重新编译。
别用宏定义,用变量。
评分
参与人数
1
ST金币
+2
收起
理由
zero99
+ 2
查看全部评分
赞
0
评论
回复
支持
反对
废鱼
回答时间:2016-12-8 09:51:55
a0a.1 32b0c
可以通过变量来实现,define实现不了。
赞
0
评论
回复
支持
反对
5265325
回答时间:2016-12-8 11:01:30
a1024a.1 32b0c
赞
0
评论
回复
支持
反对
Veikoboy
回答时间:2016-12-8 11:55:44
a0a.1 32b0c
不行哦好像
赞
0
评论
回复
支持
反对
所属标签
相似问题
关于
意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
一般情况下,源程序中的所有的行都参加编译。但是有时希望对其中一部分内容只在一定条件下进行编译,当条件不满足则编译另一组语句
#ifdef 标识符
程序段1
#else
程序段2
#endif
作用:已经被#define命令定义过,则在程序编译阶段只编译程序段1,否则编译程序段2
只是单次运行需要改变,把PA定义成数组
希望保存上次修改,存flash
评分
查看全部评分
评分
查看全部评分
别用宏定义,用变量。
评分
查看全部评分