你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

可以在开发板运行过程中修改#define的值吗

[复制链接]
骨子带刺 提问时间:2016-12-7 16:46 /
在set_power.h中有#define  PA  0x13,0x1D,0x15,0x14,0x18想在main.c中通过串口通信中断方式用串口命令修改PA的值,效果就像在串口工具中输入SETPA,然后串口解析命令,会让PA的值改变。这个具体的该怎么实现呢
收藏 1 评论9 发布时间:2016-12-7 16:46

举报

9个回答
奏奏奏 回答时间:2016-12-7 16:55:03
条件编译
一般情况下,源程序中的所有的行都参加编译。但是有时希望对其中一部分内容只在一定条件下进行编译,当条件不满足则编译另一组语句
#ifdef 标识符
    程序段1
#else
    程序段2
#endif
作用:已经被#define命令定义过,则在程序编译阶段只编译程序段1,否则编译程序段2
wu1169668869 回答时间:2016-12-7 17:06:34
#define在 预处理的时候就直接填充到代码里了

只是单次运行需要改变,把PA定义成数组
希望保存上次修改,存flash

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

leo121_3006061 回答时间:2016-12-7 21:02:22
楼上正解
左岸右岸 回答时间:2016-12-7 21:40:24
对于#define,预编译在程序运行之前就完成了

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

peter001 回答时间:2016-12-7 23:20:46
预定义和变量不一样呦
没事逛荡 回答时间:2016-12-8 09:10:00
#define在编译时已经完成,你想修改的话必须重新编译。
别用宏定义,用变量。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

废鱼 回答时间:2016-12-8 09:51:55
可以通过变量来实现,define实现不了。
5265325 回答时间:2016-12-8 11:01:30
Veikoboy 回答时间:2016-12-8 11:55:44
不行哦好像

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版