DSP

DSP28335数据类型

2019-07-13 10:32发布

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