首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

DSP28335数据类型

DSP28335数据类型

最近在用DSP28335时,发现数据类型与ARM体系的数据类型有些差异,做了以下测试,来确定DSP28335上数据类型的大小。
      28335单位中长度为是16bit.
  •   count = sizeof(char);
  •   count = sizeof(int);
  •   count =  sizeof(double);
  •   count =  (sizeof(long)

复制代码
     通过查看寄存器发现:
  • char : 1  (16bit)
  • int     : 1  (16bit)
  • double: 2  (32bit)
  • long: 2  (32bit)
  • short: 1  (16bit)
  • float: 2  (32bit)
  • long long: 4  (64bit)
  • ----------------------------------------------------------------------------------------------
  • struct SDATA_BIT{
  • unsigned int  D1     : 16;
  • unsigned int  D2      : 16;
  • unsigned int  D3      : 4 ;
  • unsigned int  D4      : 1 ;
  • unsigned int  D5      : 1 ;
  • unsigned int  D6      : 1 ;
  • unsigned int  D7     : 1 ;
  • };
  • sizeof(struct SDATA_BIT  sBIT) = 3; //

复制代码
     由于DSP28335上的数据类型与ARM的不同,因此在做通信协议时,尤其是用到联合体、数组、结构体来存放数据时,要注意!!!
继承事业,薪火相传
返回列表