|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
最近在用DSP28335时,发现数据类型与ARM体系的数据类型有些差异,做了以下测试,来确定DSP28335上数据类型的大小。8 C! }, p* l8 ^/ u2 o
) |* w, v' Z0 D0 C. }8 G
) b! O5 i0 J- n! P9 n5 L* h 28335单位中长度为是16bit.3 |* W- I# L9 Y% n6 ~; ]( `. ^6 j
3 R" d' b$ H( U0 P% G, l0 t9 U1 t: g( ? }
count = sizeof(char);
- }' m& G c9 N8 n* d( g count = sizeof(int);3 B0 b5 c P6 _
count = sizeof(double);
8 f8 B/ F4 p! u9 ?. S count = (sizeof(long)" @8 f4 I5 \. t6 r/ V8 l6 y
. T( e! v; j. }) S' x
1 f# a5 e. _/ q( c0 E0 R
count = (sizeof(short)
' }$ `( \# D" c8 s) I' o3 M8 ^/ z6 @
2 [; f } u9 h( c$ y# I
count = (sizeof(float);
* A1 ?; q7 ?1 j* J6 \ 通过查看寄存器发现:3 _! `; Q, Q" A
3 f) J6 M5 L" _5 R- R" {0 q' `/ \" j; u6 k! l4 D7 w
char : 1 (16bit)
% s4 D9 y2 P9 O: }int : 1 (16bit)+ r0 G! k' T# z
double: 2 (32bit). F; _2 o8 W5 ?5 U' m' I
long: 2 (32bit)
8 {7 B( n) Y0 b: \& `/ y/ Mshort: 1 (16bit), i, e w% n8 G t: `- d1 D
float: 2 (32bit)
; O2 |1 j) Z- H- W: s' v: Slong long: 4 (64bit)
9 ?4 B; b0 T9 D8 q2 e. R! ^; ~2 B
: L' `' |2 I$ I& e& ~" n5 a
: w6 I7 w5 y; M2 ]; \) u; J ----------------------------------------------------------------------------------------------
) Q0 W& {% N) R; ]/ z9 V! x! Q& n2 ?3 l5 v' q& }+ L2 R8 G
- j& _$ a* E: `) O
struct SDATA_BIT{. S H9 O+ x; v9 h6 `) m0 I
unsigned int D1 : 16;! h# ~2 q; ^9 d0 U
7 b7 h* R2 r* m+ q7 O
+ T- ?( y( v \- T$ _- M' f
unsigned int D2 : 16; / \) f0 s; U+ G
6 v& Q1 D& p9 J. U
# J$ \5 S# @6 x4 ~+ h3 d
unsigned int D3 : 4 ; 6 T" n( t1 r% k! X8 W
2 @% x$ K2 @6 K
/ p' d# k$ S$ r p unsigned int D4 : 1 ;
7 W' C! g) C$ s8 c3 Z! @
8 d ]& D$ Z; X9 S
8 S0 Z3 u$ n6 t: i! @1 o4 P$ S unsigned int D5 : 1 ; / {& `' B) n. I+ C6 }$ O
+ {+ t, Y" P: M- n. m
' H9 e# R, _' t7 i+ X. r unsigned int D6 : 1 ;
) ^8 {. N+ f' ^2 q, o0 [: m
: f5 i. E/ }8 Y* a
" y4 S8 ? W9 d unsigned int D7 : 1 ;! O7 m/ O' T: D# O$ z' ? W/ D
3 H- c% j4 F' z) H. k
2 u" O2 ], ~3 o! G/ F
};
; ~1 D, K' O2 {- K: n4 L1 z3 r O% q! H3 T7 X, u' k/ X- t
3 b- {% q( [4 Y& ?: Psizeof(struct SDATA_BIT sBIT) = 3; //! e5 h% d2 X3 f( M7 I, S, E
7 \# l& z# q, C7 l+ i" ~
( P* l3 Q, q$ U6 n( @, k/ C; C由于DSP28335上的数据类型与ARM的不同,因此在做通信协议时,尤其是用到联合体、数组、结构体来存放数据时,要注意!!!2 E, _) r$ E+ [! g/ F% S. ^
; T, |2 [: o8 F+ o5 E& G! X
* [7 L& g {) @/ {# ]- Q |
|