【ARM】MDK-STM32g0xx.h文件与Define规则记录

【更多软件使用问题请点击************************************************************************************************************************************************************************************************************************************************************亿道电子官方网站】****************************************************************************************************************************************************************************************************************************************************************

1、 文档目标

记录问题STM32g0xx.h等有关ST的可读文件,尽量勿修改文件格式及对其代码进行添加和删减,记录查找问题的过程中的疑惑,并如何给予客户正确的回复,帮助销售完成验收,以便后续尾款支付。

2、 问题场景

在工程中客户移除了ST头文件的可读保护并进行了该文件的代码修改,在STM32g0xx.h中进行了函数的宏定义,但应用处并没有添加任何头文件,编译不报错。若在其他文件中添加该函数的宏定义,编译报错。

图2-1(未应用未报错,不符合语法规则)

注:绝对不建议删除对stm32gOxx.h文件的只读保护。所有来自ST的只读头文件都有很好的保护理由。

3、软硬件环境

1)、软件版本:MDK 5.38 Arm 编译器版本 6.19

2)、电脑环境:Windows 11

3)、外设硬件:无

4、解决方法

1)、宏定义的寻找模式

#define指令是C预处理器的一部分。在编译之前进行处理。一个头文件没有被你的项目使用或引用,这个头文件将不会成为你的项目构建的一部分,在项目中根本不使用由#define定义的那些参数,则它们将不会作为编译的一部分包含在内。

2)、有关ST的只读头文件。

宏定义在STM32G0xx .h中,它总是包含在基于STM32G0xx设备的项目中并使用。在后台运行的编译器工具链负责动态语法检查以及文本完成在某些情况下可能是不可靠的,所以在你的情况下,宏定义中函数等仍然是灰色,并且函数应用处没有添加头文件,但编译通过。

定义在STM32G0xx .h中的函数,它总是包含在基于STM32G0xx设备的项目中并使用。将STM32G0xx .h修改部分还原,并且将其文件格式设置为可读即可,如图4-1在Comm.h文件并进行宏定义,而后编译出现错误,符合检查动态语法规则。

图4-1(未应用报错,符合语法规则)


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

关于亿道电子

亿道电子技术有限公司(www.emdoor.cn)是国内资深的研发工具软件提供商,公司成立于2002年,面向中国广大的制造业客户提供研发、设计、管理过程中使用的各种软件开发工具,致力于帮助客户提高研发管理效率、缩短产品设计周期,提升产品可靠性。

相关推荐
jianqiang.xue4 小时前
智能体整体架构设计:四大模块与目录组织
单片机·嵌入式硬件·物联网·架构·esp32
Messy create5 小时前
【BMS-AFE-温度检测】
stm32·单片机·能源
东莞市永盛电气5 小时前
三相208V变380V变压器,出海工业设备供电适配方案
python·单片机·嵌入式硬件
桃蹊、6 小时前
串口/网络透传实战:FreeRTOS 多任务架构与连接池设计
stm32·物联网·wifi·freertos
一木 之林7 小时前
三.C++ 内存管理(进阶)(二)
开发语言·arm开发·c++
新晨单片机设计8 小时前
S001A-基于STM32单片机超声波视力保护仪【Proteus仿真+Keil程序+原理图】
stm32·单片机·proteus
星河单片机8 小时前
STM32驱动Y01-3IN1空气质量模块+OLED显示完整教程
stm32·单片机·嵌入式硬件·空气质量·甲醛检测·二氧化碳检测·tvoc检测
玩转单片机与嵌入式8 小时前
深入浅出TinyML 21:INT8量化改变了模型中的哪些数据?
stm32·深度学习·tinyml
别催小唐敲代码8 小时前
stm32_mpu6050_滤波教程
stm32·单片机·嵌入式硬件
CPETW8 小时前
USB TO I2C_(Excel)_Scan ---- 1000KHz总线速率测试_A
c语言·开发语言·网络·科技·单片机