1. 程式人生 > >最新版的stm32f1xx.h檔案中取消了u8, u16, u32的型別定義

最新版的stm32f1xx.h檔案中取消了u8, u16, u32的型別定義

使用晶片stm32f103zet6和stm32l151c8t6,在移植程式時發現,編譯器提示u8未定義;

在Keil MDK 開發環境裡,st定義無符號32位整形資料有很多種表示方法:
1 unsigned int 32——標準寫法;
2 uint32_t ; 
3 u32;  
三種方式都是在表達同一個意思。

       其實ST之所以這樣多種方式表示同一個值,主要是減少程式碼編寫工作量,同時也是為了向下相容舊版本的程式。
使用typedef多次重新定義罷了,關於這些定義可以看下面幾個檔案:core_cm4.h   ;stm32f1xx.h;   stdint.h;  

stm32l1xx系列,本來在舊的.h檔案中對uint_8等有型別定義為u8, 但是新的.h檔案中沒有了
新的.h檔案:


舊的.h檔案:


新版.h檔案已經鎖定,無法直接修改新增;可以自建一個頭檔案,重新定義包裝一下。