C语言中的数据类型在STM32里的另称:
C语言关键字 | 位数 | 表示范围 | stdint关键字 | ST关键字 |
char | 8 | -128 ~ 127 | int8_t | s8 |
unsigned char | 8 | 0 ~ 255 | uint8_t | u8 |
short | 16 | -32768 ~ 32767 | int16_t | s16 |
unsigned short | 16 | 0 ~ 65535 | uint16_t | u16 |
int | 32 | -2147483648 ~ 2147483647 | int32_t | s32 |
unsigned int | 32 | 0 ~ 4294967295 | uint32_t | u32 |
long | 32 | -2147483648 ~ 2147483647 | ||
unsigned long | 32 | 0 ~ 4294967295 | ||
long long | 64 | -(2^64)/2 ~ (2^64)/2-1 | int64_t | |
unsigned long long | 64 | 0 ~ (2^64)-1 | uint64_t | |
float | 32 | -3.4e38 ~ 3.4e38 | ||
double | 64 | -1.7e308 ~ 1.7e308 |
C语言关键字:在c语言中的数据类型名
stdint关键字:现在STM32官方库新更新的名字
ST关键字:以前STM官方库里用的名字
三者本质都一样,只是名字不一样而已。
stdint和STM32关键字用哪个都可以,stdint兼容ST,如果不兼容的话,需要手动 typedef 一下,比如:
typedef unsigned char u8;//定义typedef,新名字在右边,最后有分号