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