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

DSP28335数据类型

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
       最近在用DSP28335时,发现数据类型与ARM体系的数据类型有些差异,做了以下测试,来确定DSP28335上数据类型的大小。0 n4 ~( @6 u6 K  M* P# ~' a
& @6 z; y: ~3 N9 h
% {6 ]" S* i4 {2 R  O2 m
      28335单位中长度为是16bit.$ g- B+ Q7 ~% `0 @, L& v; P
" _% ~* v5 y8 J  Y8 K1 n
. p3 k5 }: F* d+ |
  count = sizeof(char);" U2 _$ e  @/ a# X. f7 U* G
  count = sizeof(int);
* z9 q# S( M9 u/ K# y  count =  sizeof(double);( ?8 t2 F5 M3 G' Q* R8 ~+ }6 w' r
  count =  (sizeof(long)
- j! z* E, p+ m  o3 R2 u9 s  ^8 u' _1 S, P/ y$ N& [

% [* @9 K8 p1 V8 A, U) q   count =  (sizeof(short)
# I+ F  h9 I7 a- t* T& s  ^; c$ \' J1 ?

2 o5 i* d2 q) X5 C) J# Y" J' Z count =  (sizeof(float);( p4 O" q7 v$ i9 O1 N0 R; ^6 A# F
通过查看寄存器发现:
7 w6 A" W, j* \
" U! H7 N; \% q/ L' W" h

" I. @) |4 l$ ?: g6 @char : 1  (16bit)  [5 H+ \( u- ?: s
int     : 1  (16bit)+ O+ a5 T* {) s0 B2 m. J5 O) O
double: 2  (32bit)
1 i# ?4 ~& V+ q- t1 S8 a* q8 G5 [long: 2  (32bit)8 ?0 T  r& K& _0 g5 W
short: 1  (16bit)8 B/ ~) a7 \" }) D3 S% M( l
float: 2  (32bit)
9 }- V* {) `  w- J" nlong long: 4  (64bit)/ F# O% H3 @& f# {$ b$ b
6 H3 |" c( |/ n+ Q9 B
- p+ W6 m( O3 \3 ~- W. @
----------------------------------------------------------------------------------------------
$ v# q5 S$ W' s  {
( d: G" k# e  \9 C: m5 M: O" X( D3 C

' r( t1 U, p( b; V6 T2 _struct SDATA_BIT{; b5 k- a- f3 |! B* c& X! E7 \
unsigned int  D1     : 16;
1 R' P2 F, i7 \) a4 d4 d! M
" M9 _) V. A$ q: i
7 _& T) ^- ]" x8 \
unsigned int  D2      : 16;
. g# f/ ?# x; U9 _% E
# b# x9 `% G. ~) S: B) K8 u
/ A$ N4 j4 F& t6 k# C
unsigned int  D3      : 4 ;
' w3 ]+ t' S+ L5 H( X7 J: ~) c
+ D3 O' Y" t; Z7 Y! _

$ z4 k6 b7 Z7 A; `  e unsigned int  D4      : 1 ;
* k: f9 E3 Q6 s' q$ ^0 B3 G) ~  q* I  O2 d8 _& F- g* X: \
0 |& P' h  \4 q' |
unsigned int  D5      : 1 ;
; b, b: r* f2 T7 w5 J+ w; ]( _) z4 z2 K! y5 ~
8 P/ F# ]6 K2 W$ c' C
unsigned int  D6      : 1 ;
2 y+ e# d! f' }6 X/ M$ H+ x; k6 @& }+ X. ?) U# W) O4 J  k% `8 @3 \

5 F- U$ b3 g% L8 P( c$ S unsigned int  D7     : 1 ;
3 l4 w" A" U4 H, f/ [- h
: z( X6 ~4 P) X% ~2 J( p5 z
2 F9 E- H8 {/ h: L, O6 ~6 Z. e
};
. ^# c0 s7 h5 }" d* G
5 u: B1 s6 F# W# n* a3 c
$ O+ [% h0 A" k7 C9 Q) A
sizeof(struct SDATA_BIT  sBIT) = 3; //
* h% A8 J; P0 K1 f# u
, w$ O( ?* Z) Z9 `  ~- Q

0 Q- u7 f! M- b0 H% n: T- f由于DSP28335上的数据类型与ARM的不同,因此在做通信协议时,尤其是用到联合体、数组、结构体来存放数据时,要注意!!!% I$ s1 R3 N/ C+ A6 s3 m
; ^6 ?( W$ v" F& w$ V. Z9 W" B, l, H
; k# _6 j2 U0 [2 S8 @. r

该用户从未签到

4#
发表于 2021-12-6 13:09 | 只看该作者
用到结构体时要区分

该用户从未签到

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

该用户从未签到

2#
发表于 2021-12-6 13:07 | 只看该作者
28335单位中长度为是16bit
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 01:59 , Processed in 0.140625 second(s), 24 queries , Gzip On.

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

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

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