日韩中文在线观看-欧美性综合-伊人视频在线观看-亚洲免费在线视频观看-国产偷人视频-人妻丰满熟妇岳av无码区hd-国产一级淫片a视频免费观看-国产精品交换-国产精品1区2区3区4区-美女日批视频在线观看-欧美日韩一区二区三区自拍

【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(未應用報錯,符合語法規則)

主站蜘蛛池模板: 宁阳县| 津南区| 赣榆县| 新兴县| 五河县| 桐庐县| 安西县| 仲巴县| 通海县| 蓬莱市| 澳门| 舟山市| 梓潼县| 海盐县| 天柱县| 四川省| 玉环县| 龙州县| 平泉县| 潞西市| 乳山市| 洪雅县| 保定市| 水城县| 鹤山市| 四川省| 子洲县| 兴化市| 龙口市| 穆棱市| 和硕县| 长沙县| 平和县| 淳安县| 黑山县| 桃江县| 龙游县| 合川市| 班玛县| 肇东市| 苍梧县|