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

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM