请选择 进入手机版 | 继续访问电脑版

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

STM32G0工程修改KEIL里的C/C++ Define定义芯片型号没有生效

[复制链接]
huahuahnu 提问时间:2021-8-9 10:40 / 已解决
原先工程配置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


有人遇到过吗?求解答!!!!!!!!
收藏 评论5 发布时间:2021-8-9 10:40

举报

5个回答
yklstudent 回答时间:2021-8-9 14:45:03
多检查下,是不是写错了
老牛洋车 回答时间:2021-8-10 08:57:47
您的定义在哪呢?会不会是定义没有同步修改?
建议您不要用那么多的判断来包含,删除其余的包含判断试试。
废鱼 回答时间:2021-8-10 09:35:21
楼主看一下工程配置中的C/C++选项,Define这一项中的预定义。
废鱼 回答时间:2021-8-10 09:35:54
飞羽一条 发表于 2021-8-10 09:35
楼主看一下工程配置中的C/C++选项,Define这一项中的预定义。

我这里是KEIL的查看方法,其他工具类似,可能在其他的地方。
huahuahnu 回答时间:2021-8-10 09:54:09
问题已找到,在keil工程配置里Device选项选的是STM32G070型号,在C/C++选项Define预定义里STM32G070xx改成STM32G030xx是无法生效的,还得在Device选项选STM32G030型号

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版