DSP问题(急)

来源:百度知道 编辑:UC知道 时间:2024/05/26 03:48:11
33系列的DSP,将double类型的十六进制(11 22 33 44 55 66 77 88 )通过串口发送到DSP上接受。DSP是32位的,怎么接受64位的数!还有接受的数据(十六进制)怎么转化成为TI的浮点型数据!
解决了追加100分

需要在程序里面自己编一段小程序来解决。
提示下 :
1.将待发送的64位数进行处理 比如先发后32位 再发前32位
同样接受的时候就可以将两次接受的数字进行处理 还原为原来的数。
2.接受的数据还原后强制类型转换即可为浮点型。

具体还要你自己编程调试了。

接收64位的数要做编程处理,先在接收机上定义64位的数 long double型,然后在编码发送64位数据的时候做一个 标志位,如果是64位的数,则置位。接收的时候用如下代码(高位在先,实际时应该用至少3个w)
N = N & w1;
N = (N<<32)&w2;
类似这样解决问题。具体看使用什么通信协议,毕竟一帧里面发送的数据位也不一定是32位的。
强制类型转换(float)

DSP是32位的,不代表所有的数据类型都是32位长,看一下你的编译器什么类型是64位的(double,long long,long float类型),就用这个存储。

至于转化为浮点型数据,你直接用浮点型的保存即可。毕竟浮点型的精度最高,不会发生截断。