1.unsigned int 32 (C语言标准表达方法)
3 l- z% a7 N) J/ D5 G
- n1 X; H1 y) X! u2.uint32_t ;
7 K+ V; v p- h" s5 c3 s) {( E# j
7 [; p9 u$ W1 n/ \3.u32; 2 C1 _- H2 Y& ^0 }
! S/ B/ e @ }2 d/ W这三种方式都是在表达同一个意思。ST 搞这么多花样,无非是想开发人员在写代码时定义数据类型能少写几个符号,然后又因为前后版本升级,为了兼容旧版本(主要是V2.0)才会出现这么多表示方法。不管他怎么换,都是基于标准C来的,看清楚以下几个文件你就OK了:core_cm3.h ;stm32f10x.h ; stdint.h; 其中每个文件大概作用如下:
9 d& p5 }, M. u
: k( I) z9 e# q4 R3 D% D1 ?) e- stdint.h 这里放着C语言的标准表达方式//第36行开始1 \8 n) c+ Q$ j
- typedef signed char int8_t; // 标准表达方式 signed char 被等同于 int8_t;
+ K# I, z: `6 V3 {! i& a9 m - typedef signed short int int16_t;
8 G) |' [8 Q* A8 W6 H - typedef signed int int32_t;//在32位环境里,int代表4个字节32位!!( P) K* d3 B G' M( W
- typedef signed __int64 int64_t;/ K$ x: B' B, V1 O' f$ q: j
-
. y+ v( @( T4 T; b: W - typedef unsigned char uint8_t;2 x: y% s; n9 e) T1 l* t$ }' k2 |
- typedef unsigned short int uint16_t;7 I& Y8 j/ b- F; [6 j$ z
- typedef unsigned int uint32_t;
^; e: \, \2 f - typedef unsigned __int64 uint64_t;# v1 u. [2 [6 Q0 h/ I. ^) E
-
( n- S- H& V0 `* g6 {' _4 u - stm32f10x.h 这个文件主要是为了兼容旧版本吧
0 q( x9 E/ y6 z$ j9 p+ i0 x - typedef uint32_t u32;///32位
# t3 p1 K& O8 B0 G# A7 d5 ~& d - typedef uint16_t u16;///16位
' \& Y$ A0 t( l8 _ - typedef uint8_t u8;///8位
复制代码 : D4 t. O: e4 r& Y9 a/ \' m
————————————————
0 `; {- d2 ~/ O1 r版权声明:魏波.
: y+ l. S4 { X! L) H: o! o
7 R% W+ _+ Z( `( S/ d' G7 I& F# W |