EDA365电子论坛网
标题:
DSP28335数据类型
[打印本页]
作者:
kiygb
时间:
2021-12-6 11:15
标题:
DSP28335数据类型
最近在用DSP28335时,发现数据类型与ARM体系的数据类型有些差异,做了以下测试,来确定DSP28335上数据类型的大小。
5 H# y% ~1 `0 O$ Q* ^5 U
6 z! `4 `! d/ n
. v" l. q" h! i; c% @7 }$ [
28335单位中长度为是16bit.
$ g* u3 [% Y4 |) A0 W2 n0 y
% l$ y9 \( v ^# y) u L! \* \, y) p0 f
* z# X& `- _/ `" M7 T+ k0 @" X; _2 K/ a: g
count = sizeof(char);
2 |8 M5 V7 F) [* h* o4 x% e
count = sizeof(int);
6 V0 Y L0 G7 M! A4 f9 \* J
count = sizeof(double);
- ^' }" b. y! S$ Y6 x8 U
count = (sizeof(long)
% n9 f- E8 W1 |9 n6 m
5 X! x3 o( w: s" F, p1 G
0 l; O( t. m% L; Y6 A& k
count = (sizeof(short)
b- B3 Z3 `+ S* _- h l2 H, D n( x
+ H% Y' ]2 Z- E0 v) ]+ z, u
; @; Q+ C- z5 ^1 v5 ]
count = (sizeof(float);
$ E: g- H0 T( H, L. {7 W) L& j
通过查看寄存器发现:
/ M; T" ~+ C K" ]3 y! U
% Q# t1 n1 p% c+ X) t
0 l! @. n# X1 o5 i& w N
char : 1 (16bit)
! W* q/ A" L/ m: o" p, T3 r
int : 1 (16bit)
7 D( J+ ?- C6 x( Y
double: 2 (32bit)
( d- X7 |& h: y9 T, U
long: 2 (32bit)
$ m, F4 N4 b' N# `( t' A& p; w
short: 1 (16bit)
" D6 O0 h% l$ L3 ^
float: 2 (32bit)
# B: o8 j6 E3 P, T
long long: 4 (64bit)
1 C. K1 a& V2 F! Q& Q
. d4 Q/ Z3 d4 u" I
+ E$ A0 D/ p* n+ m6 [
----------------------------------------------------------------------------------------------
; ~/ {9 R; E, C$ M: T8 @
7 B/ ]+ W6 a+ G' N! C. t
' }/ N3 |, ?/ K& W
struct SDATA_BIT{
+ S: R- ~! U3 C/ s2 V
unsigned int D1 : 16;
D1 ^% b0 m* g% a: Q$ v3 r
* i+ h. L* q- E& P; W8 i" k2 t
8 P' M3 R; T7 f6 n0 B. b
unsigned int D2 : 16;
! I: e" @5 E n! e. ]3 o
/ I: K! ]! w! _- q9 W
0 y* G* ]7 L) T h
unsigned int D3 : 4 ;
2 E' Z! @% M2 C; d( B
! F7 E4 |5 r/ ~* j! w ]
% o; q$ B& B! @; M/ V0 C: Y
unsigned int D4 : 1 ;
- L' C/ `2 C& X4 F
+ u5 ^. q# A; p( w5 c- c# `
7 Z2 y0 E/ ^3 c; E; x4 H
unsigned int D5 : 1 ;
3 g* u, `6 p. c/ _% c" B
9 \4 ~6 R& u) x! Y3 T- T' y1 g# E. G
/ D$ y! O" n" `- K6 B
unsigned int D6 : 1 ;
* r0 Z1 l9 ^3 v3 ]1 `1 ]) n) U
1 n+ i0 b$ |+ z8 J* C
% V* c: l1 H, _ \
unsigned int D7 : 1 ;
1 f, l: p7 {. m# S8 `) N7 D
1 W5 e5 b& p9 A5 K8 G
5 w' J0 y2 m! q$ H5 G
};
( p. B" j- O1 U/ V5 J. G
$ A+ u' n6 T1 v$ C5 ^
- B# f3 O0 e, T, n# n/ f3 E
sizeof(struct SDATA_BIT sBIT) = 3; //
& ?. ^/ N+ M( D
7 x' }; c, M$ R& E
6 T2 f5 s$ \/ u. k6 Y4 g
由于DSP28335上的数据类型与ARM的不同,因此在做通信协议时,尤其是用到联合体、数组、结构体来存放数据时,要注意!!!
5 S0 J# h, q# G7 g/ F
+ S* W7 ]! l+ i: ~
1 Q) a1 K+ w4 N1 k1 }7 h' h
作者:
grand
时间:
2021-12-6 13:07
28335单位中长度为是16bit
作者:
nuiga
时间:
2021-12-6 13:08
DSP28335上的数据类型与ARM的不同
作者:
MLXG
时间:
2021-12-6 13:09
用到结构体时要区分
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2