ZHCACD3A march   2023  – april 2023 TMS320C28341 , TMS320C28342 , TMS320C28343 , TMS320C28343-Q1 , TMS320C28344 , TMS320C28345 , TMS320C28346 , TMS320C28346-Q1

 

  1.   1
  2.   摘要
  3.   商标
  4. 1引言
  5. 2字节与字术语
  6. 3需要考虑的要点
    1. 3.1 不支持 8 位数据类型
    2. 3.2 存储器大小用 16 位表示
    3. 3.3 数组和结构:各个元素偏移量是不同的
    4. 3.4 标准数据类型宽度的差异
    5. 3.5 处理 8 位通信协议
  7. 4参考文献
  8. 5修订历史记录

标准数据类型宽度的差异

与任何 8 位可寻址架构不同,C28x 器件中 int 和 char 的大小不同。为了实现更好的可移植性,强烈建议使用基于宽度的数据类型,例如 uint16_t、int16_t、uint32_t、int32_t、uint64_t、int64_t、float32_t、float64_t 等。这些数据类型在 C28 编译器头文件 stdint.h 中定义。

请注意,uint8_t 和 int8_t 数据类型不是由 C28x 编译器定义。C2000Ware 会分别将这些数据重映射到 uint16_t 和 int16_t 数据类型。

类型 大小
char 16 位
_Bool 16 位
short 16 位
int 16 位
long 32 位
long long 64 位
float 32 位
double(COFF) 32 位
double(EABI) 64 位
long double 64 位
指针 32 位

有关数据类型的更多信息,请参阅 TMS320C28x 优化 C/C++ 编译器 v22.6.0.LTS 用户指南