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

DSP28335数据类型

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
       最近在用DSP28335时,发现数据类型与ARM体系的数据类型有些差异,做了以下测试,来确定DSP28335上数据类型的大小。
, j" ]' J" P1 P) z
9 V7 J; a9 u5 b' e

, Y9 M. |4 Z' r9 t$ }9 z      28335单位中长度为是16bit.! c" ]2 ?: G# J
: v* R: b( k: g( F) t. j# h

; b* \9 t/ U0 T0 d- X# F  count = sizeof(char);# c' P' A: F, ]; q# ?* F
  count = sizeof(int);1 L# ^; _4 m$ @, d. [. t
  count =  sizeof(double);
# C, Q( ?1 |6 g# @5 n5 |# h  count =  (sizeof(long)8 f& v# p7 Z% H

5 v9 i# b$ T! [2 x
! b" d0 S7 H( C3 U" s
   count =  (sizeof(short), o- G# @* G8 |* X$ G
& s% P# D; o0 d0 P4 l8 n! V
% H, [1 @& u9 J$ u
count =  (sizeof(float);
- D& c+ Z; {9 x- I9 v 通过查看寄存器发现:. m4 x; l/ K7 R0 t& f
, e  W. _: F. c- ?
+ E, m3 z3 q% c& Y4 m: w  c0 @
char : 1  (16bit)
# f1 U6 c4 G( Z% _9 h* O& uint     : 1  (16bit)
1 R; N0 z( B; e( X! q* }8 i& ~+ j$ `double: 2  (32bit)5 ~1 k) v( ]" t5 Y- K/ ^% ^3 j& }
long: 2  (32bit)
- m' W( `+ c4 {1 Y# X2 J1 `short: 1  (16bit)$ g+ e5 k' s4 p  v( K5 J
float: 2  (32bit)
) u  S8 _# P5 b- _# Mlong long: 4  (64bit): M! X  Z+ I4 k, J( @' ^* S
6 f# e' }# ^! U
/ K/ K* M8 b) B
----------------------------------------------------------------------------------------------
* T* x, W) A+ P' ^' d! y5 `
% W  m+ l# }9 E, v
4 Z5 c! K6 O; k# Y5 {  l
struct SDATA_BIT{
' _  ?# g) v* ]( v- S0 o& q: x unsigned int  D1     : 16;
1 f  _- t+ `, E) i5 N9 _' m8 g0 B( y: J  }$ d6 A
& t' d8 ]6 \+ t# U5 V+ u. D% r
unsigned int  D2      : 16; 6 ]) ^3 x4 |9 u3 U- \. z6 S

- S6 D1 i1 d) S
" M/ F) b- [3 y
unsigned int  D3      : 4 ; 1 J* J  }  g2 V* u  G3 O9 Z! V, E2 p1 p

  A5 |7 u. Y8 @
* H8 ?4 W. g8 ~- V9 D3 \) w5 R
unsigned int  D4      : 1 ;
0 s' [4 r6 f4 y  T  m
/ ]. L( Q: K! y; Z1 U1 G0 g6 A
0 ^. E8 K1 b; W) j" a6 O5 p% L
unsigned int  D5      : 1 ; 7 B% a( p, N0 w( s6 B5 o

1 t' L  _1 M! Q' u; y3 u5 Z* r

! D/ t" {, f! T4 q$ p$ e: p, a& N unsigned int  D6      : 1 ;; f+ _8 @9 ]% F# R8 Y, [2 O6 {

2 i% u: {3 l# j( Z' i) p, {3 h

8 r9 q% y+ k7 G7 M unsigned int  D7     : 1 ;/ c# J" a+ I% a$ p2 [8 U: N) A
5 ~* X0 n  W- \1 r0 Q% }3 m  A: R/ ?

! ~: b1 b: n6 w# r};! L6 M9 Y4 M4 h2 X' |

2 v/ ?# f$ Z. Q' O
1 m' x- P4 `4 b) D0 i' k/ \, _
sizeof(struct SDATA_BIT  sBIT) = 3; //
( s1 e/ \& ?) a: A* ]1 u8 W! E) Q  E8 C, _$ c! W

# h4 j4 y3 W- U) [: s5 o, h由于DSP28335上的数据类型与ARM的不同,因此在做通信协议时,尤其是用到联合体、数组、结构体来存放数据时,要注意!!!
6 n' K* o2 x8 C
5 I  C* \+ K9 s: w/ p( O" r. b( Y$ w  L5 Y" ?+ l

该用户从未签到

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-24 02:48 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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