最新版的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文件已经锁定,无法直接修改添加;可以自建一个头文件,重新定义包装一下。

 

 

posted @ 2018-11-15 15:48  喜欢吃冰棍de谷利文君  阅读(8879)  评论(0)    收藏  举报