KEIL MDK和STM32的数据类型 之入门篇.pdf
文本预览下载声明
STM32 数据类型入门篇
KEIL MDK 和STM32 的数据类型 之入门篇
编程过程中,不同的MCU 或编不译器,其数据类型的意义各不相同,所以一定要注意相应变量数据
类型的定义和转换,否则在程序 编译时候会出错。
▲ 在KELI MDK 数据类型中进了如下定义
char 占用1 个字节
short int 占用2 字节
int 占用4 字节
long 占用4 字节
long int 占用4 字节
float 占用4 字节
double 占用8 字节
即有如下宏定义
typedef unsigned char uint8; // 无符号8 位字符型变量
typedef signed char int8; // 有符号8 位字符型变量
typedef unsigned short uint16; // 无符号 16 位短整型变量
typedef signed short int16; // 有符号16 位短整型变量
typedef unsigned int uint32; // 无符号32 位整型变量
typedef signed int int32; // 有符号32 位整型变量
typedef float fp32; // 单精度浮点数(32 位长度)
typedef double fp64; // 双精度浮点数(64 位长度)
注:C 语言中的种类数据:整型:int short long 实型:float, double 。
其中,Unsigned 为无符号, signed 有符号。
STM32 数据类型入门篇
▲ STM32 的数据类型的宏定义
STM32 采用了大量的固件库,其中在2.0 库中有24 个数据类型如下
typedef unsigned char u8;/*无符号8 位变量**/0~255 一字节
typedef signed char s8;/**有符号8 位变量*/-128~127
typedef volatile unsigned char vu8;/* 易变的8 位无符号变量**/
typedef volatile signed char vs8;/* 易变的8 位有符号变量*/
typedef unsigned char const uc8; /* 只读的8 位无符号变量 */
typedef signed char const sc8; /* 只读的8 位有符号变量 */
typedef volatile unsigned char const vuc8; /* 易变只读的8 位无符变量*/
typedef volatile signed char const vsc8; /* 易变只读8 位有符号变量 */
typedef unsigned short u16; /*16 位短整型无符号变量**/0~65535 两字节
typedef signed short s16; /*16 位短整型有符号变量**/-32768~32767 两字节
typedef volatile unsigned short vu16;
typedef volatile signed short vs16;
typedef unsigned short const uc16; /* Read Only */
typedef signed short const sc16; /* Read Only */
typedef signed short const sc16; /* Read Only */
typedef volatile unsigned short const vuc16; /* Read Only */
typedef volatile signed short const vsc16; /* Read Only */
typedef unsigned long u32; /*32 位长整型无符号变量**/0~(2^32-1)四字节
typedef signed long s32; /*[(-2^32)/2]~ [(-2^32)/2-1]四字节
typedef volatile unsigned long vu32;
typedef volatile signed long vs32;
typedef unsigned long const uc32;
显示全部