DSP28335数据类型

       最近在用DSP28335时,发现数据类型与ARM体系的数据类型有些差异,做了以下测试,来确定DSP28335上数据类型的大小。

      28335单位中长度为是16bit.

  count = sizeof(char);
  count = sizeof(int);
  count =  sizeof(double);
  count =  (sizeof(long)

   count =  (sizeof(short)

 count =  (sizeof(float);
 通过查看寄存器发现:

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的不同,因此在做通信协议时,尤其是用到联合体、数组、结构体来存放数据时,要注意!!!


 

 

 

 

 

 

 

你可能感兴趣的:(DSP)