使用芯片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文件已經鎖定,無法直接修改添加;可以自建一個頭文件,重新定義包裝一下。