STM32 是 32 位单片机 ,类型大小固定不变 ,所有类型大小都遵循标准。uint8_t/uint16_t/uint32_t/uint64_t 来自头文件 #include <stdint.h>,是标准精确类型(STM32 官方库强制使用)。
一、对应关系
| 无符号类型 | 等价的基础类型 | 位数 | 取值范围 |
|---|---|---|---|
| uint8_t | unsigned char | 8 位 | 0~255 |
| uint16_t | unsigned short | 16 位 | 0~65535 |
| uint32_t | unsigned int / unsigned long | 32 位 | 0~4294967295 |
| uint64_t | unsigned long long | 64 位 | 超大 |
带符号版本
| 有符号类型 | 等价基础类型 | 位数 |
|---|---|---|
| int8_t | signed char | 8 位 |
| int16_t | signed short | 16 位 |
| int32_t | signed int / signed long | 32 位 |
四、总结
- 8 位 → char → uint8_t
- 16 位 → short → uint16_t
- 32 位 → int/long → uint32_t
- 64 位 → long long → uint64_t
五、STM32 开发常见用法
- CAN 数据、串口数据、字节 → 用
uint8_t - ADC 采集值、计数器 → 用
uint16_t - Flash 地址、32 位变量 → 用
uint32_t - 不推荐用 char/int,因为不精确,跨平台会出错!