找回密码
 注册
关于网站域名变更的通知
查看: 270|回复: 3
打印 上一主题 下一主题

DSP28335数据类型

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-12-6 11:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
       最近在用DSP28335时,发现数据类型与ARM体系的数据类型有些差异,做了以下测试,来确定DSP28335上数据类型的大小。( L% l. k/ Z* S9 G2 k  P
& U; X9 e- l9 K2 w  z
$ B4 B5 ^0 l* b$ c* [- p1 n
      28335单位中长度为是16bit." r( m- q" J4 F5 M. M
  F: I4 z7 P. Y1 `  I3 i

% ^3 g8 X" ^+ j4 W# H1 {; t8 H  count = sizeof(char);% Q; z+ |7 Y! {$ F( G6 J
  count = sizeof(int);2 ~( `% ~- E- I
  count =  sizeof(double);
3 g9 J' D7 }8 B  count =  (sizeof(long)5 T) v7 M9 _2 l7 J, `1 s+ n7 s

3 x: O* u6 R% f

: T' O$ u3 F# `  |: }7 s7 o/ F   count =  (sizeof(short)1 T* E4 L  e' {6 m# [2 q" C
7 a- U0 S9 d- O6 G

! N( h( V6 M: d6 l9 }$ H" e count =  (sizeof(float);
8 ^- u+ ^3 Y& i% e0 k2 b 通过查看寄存器发现:
. h# `" r, g7 V& C! ~0 y: g( _9 R1 m
0 O# {$ g$ |2 [* _( d
; f0 I& _! q# J) J" ]! w* u
char : 1  (16bit)
3 y: n' q0 f4 J5 S3 b3 `int     : 1  (16bit)& T* H. b$ r5 O2 [6 I" w
double: 2  (32bit)
7 `- s3 z/ i- Olong: 2  (32bit)" [: F( M; a% E2 {* ]6 q+ c4 g
short: 1  (16bit)4 J8 ?! J8 u4 V5 m4 x' b3 j
float: 2  (32bit)
1 r+ S5 g4 F2 h7 mlong long: 4  (64bit)
  w+ K* M* Y  f- t  `$ y9 h
# ?6 I# ?6 ~1 D9 V$ i9 s0 }

; q+ D) ]7 a( G ----------------------------------------------------------------------------------------------5 i; |1 Z6 n: x; b" }
: r; e6 h  }1 r7 T
4 q- x* ?" w4 M6 t
struct SDATA_BIT{+ G) R# C0 c( W0 A  d: t' X
unsigned int  D1     : 16;8 I/ B* o; r5 w' i" _
; B6 V1 e! \/ I$ d9 C+ ~' f
8 j3 ^' @6 r3 b7 {
unsigned int  D2      : 16;
' M* \/ l: D# ]" K
5 X, F! }' m5 Q+ ?
% R9 n6 F% P: C, G3 T- X
unsigned int  D3      : 4 ;
2 @5 C5 l) _" z7 @/ p2 r" x9 \$ Y9 t8 `! ^1 g
; R, T1 |& a' E3 `" `6 C
unsigned int  D4      : 1 ;1 I! ^% r* @" Y* G
9 w, n+ Z7 @9 P, Z% N

8 ~: T' \. ~! j5 t* K3 n2 I unsigned int  D5      : 1 ;
5 X1 }# P6 `- m( A2 W9 Y1 e# K' @! M0 A# d' D1 F1 R7 z4 g  E- n2 K. W
3 B; \# t/ Q. Q* k, ?( G6 x
unsigned int  D6      : 1 ;
& |5 F2 R. J+ d
& `. a9 G- R. _( T3 f* v; a

9 y7 k5 e$ @8 z unsigned int  D7     : 1 ;
% J6 [: [# z/ l9 u
7 R# b  @; z) \2 N
5 g: r0 R. A4 }; I1 B1 g( Q- ?5 T6 U
};
9 {* s: c0 l/ |: J
+ D- p  G+ N/ [) R/ D3 v. i# p
  Z- I  F  I! D. Z, L% x
sizeof(struct SDATA_BIT  sBIT) = 3; //
& i# ]* i8 j! ?* S$ k1 b. ?. K2 Q, \) \$ Z2 {
6 ^$ h9 C$ n6 X+ W: C0 u6 F2 ^( y
由于DSP28335上的数据类型与ARM的不同,因此在做通信协议时,尤其是用到联合体、数组、结构体来存放数据时,要注意!!!
3 P1 L0 c/ p4 i; ^+ ]. Q1 r, L- b9 m9 D% j
5 c( P* J. n4 @' B: ?

该用户从未签到

2#
发表于 2021-12-6 13:07 | 只看该作者
28335单位中长度为是16bit

该用户从未签到

3#
发表于 2021-12-6 13:08 | 只看该作者
DSP28335上的数据类型与ARM的不同

该用户从未签到

4#
发表于 2021-12-6 13:09 | 只看该作者
用到结构体时要区分
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-23 23:57 , Processed in 0.156250 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表