硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1931|回复: 4
收起左侧

[技术讨论] STM32G0工程修改KEIL里的C/C++ Define定义芯片型号没有生效

[复制链接]

56

主题

131

回帖

299

积分

高级会员

积分
299
发表于 2021-8-9 10:36:10 | 显示全部楼层 |阅读模式
原先工程配置C/C++ Define定义芯片型号是STM32G070xx,后修改成STM32G030xx,结果编译后仍然是stm32g070xx.h头文件生效,而不是stm32g030xx.h

#if defined(STM32G071xx)
  #include "stm32g071xx.h"
#elif defined(STM32G081xx)
  #include "stm32g081xx.h"
#elif defined(STM32G070xx)
  #include "stm32g070xx.h"
#elif defined(STM32G031xx)
  #include "stm32g031xx.h"
#elif defined(STM32G041xx)
  #include "stm32g041xx.h"
#elif defined(STM32G030xx)
  #include "stm32g030xx.h"
#else
#error "Please select first the target STM32G0xx device used in your application (in stm32g0xx.h file)"
#endif


有人遇到过吗?求解答!!!!!!!!

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
发表于 2021-8-9 12:09:37 | 显示全部楼层
怎么知道的没有生效,注意这个问题。

发现MDK5.25一个bug,语法检测机制中自动让条件编译中未使用的部分变成灰色,有时候是不正确的
http://www.armbbs.cn/forum.php?m ... 5910&fromuid=58
(出处: 硬汉嵌入式论坛)

其它问题不清楚了。
回复

使用道具 举报

1

主题

8

回帖

11

积分

新手上路

积分
11
发表于 2021-8-10 09:14:54 | 显示全部楼层
全局搜索一下看看是不是有地方定义了G070,按顺序往下走070在前面,如果前边有了定义就到不了030了
回复

使用道具 举报

56

主题

131

回帖

299

积分

高级会员

积分
299
 楼主| 发表于 2021-8-11 11:58:51 | 显示全部楼层
问题已找到,在keil工程配置里Device选项选的是STM32G070型号,在C/C++选项Define预定义里STM32G070xx改成STM32G030xx是无法生效的,还得在Device选项选STM32G030型号
回复

使用道具 举报

56

主题

131

回帖

299

积分

高级会员

积分
299
 楼主| 发表于 2021-8-11 13:09:35 | 显示全部楼层
问题已找到,在keil工程配置里Device选项选的是STM32G070型号,在C/C++选项Define预定义里STM32G070xx改成STM32G030xx是无法生效的,还得在Device选项选STM32G030型号
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-16 06:31 , Processed in 0.247243 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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