OpenEdv-开源电子网

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

新唐M031 - keil V5.34.0.0 - Options for target - Preprocessor Symbols - Define宏定义的选项 有时有效有时无效

[复制链接]

1

主题

5

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2019-3-18
在线时间
14 小时
发表于 2021-5-7 16:48:49 | 显示全部楼层 |阅读模式
1金钱
刚接触新唐单片机M031,调试过程中发现如下问题。

keil V5.34.0.0 -> Options for target -> Preprocessor Symbols -> Define中定义一个宏“_MYDEBUG”, 程序中打印一些调试信息,测试过程中发现Define的宏有时候有效有时候无效。
即:定义了宏_MYDEBUG,该打印的信息没有打印;没有定义宏_MYDEBUG,信息反而打印了。

通过在线Debug也能看到原本定义了_MYDEBUG,但是相关的打印信息语句没有编译的情况。

大家有没有遇到过相似的问题,难道是KEIL软件的bug ????



最佳答案

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

目前暂时的解决方法是在代码中显式的define, #define _MYDEBUG
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

5

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2019-3-18
在线时间
14 小时
 楼主| 发表于 2021-5-7 16:48:50 | 显示全部楼层
目前暂时的解决方法是在代码中显式的define,
#define _MYDEBUG
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2021-5-8 02:17:42 | 显示全部楼层
一般自己写printf,就可以了
回复

使用道具 举报

1

主题

5

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2019-3-18
在线时间
14 小时
 楼主| 发表于 2021-5-8 08:32:31 | 显示全部楼层
正点原子 发表于 2021-5-8 02:17
一般自己写printf,就可以了

我试了一下,好像也不行。
我不用printf函数,直接IO翻转。Preprocessor Symbols - Define中的宏打开,结果本应该执行的代码没执行。在线调试看到那部分代码没有编译进去。

出现的频率:宏大概开关5次就能复现这个问题。

在线调试现象

在线调试现象

配置信息

配置信息
回复

使用道具 举报

1

主题

5

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2019-3-18
在线时间
14 小时
 楼主| 发表于 2021-5-8 08:39:30 | 显示全部楼层
相关图片。

在线调试现象

在线调试现象

配置信息

配置信息
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-27 21:03

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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