TI中文支持网
TI专业的中文技术问题搜集分享网站

怎样用28335的sci发送浮点数?

试过共用体的方法,不过ccs编译过后得到的4个字节跟标准IEEE 格式不一样。

如果把浮点数扩大1000倍,取整。那这个整数也是16位的,sci每次只能发1字节,要怎么通过把这个整数转换成两字节?

rookiecalf:

不管什么类型的数据,都是一个字节一个字节发的,只是接受端再使用同样的格式还原数据即可。如果同样是dsp,那么格式都是一样的,只要两端都使用相同的格式就成。不同mcu因为位数等的问题,可能会有差异,最多做一下字节顺序调整。

试过共用体的方法,不过ccs编译过后得到的4个字节跟标准IEEE 格式不一样。

如果把浮点数扩大1000倍,取整。那这个整数也是16位的,sci每次只能发1字节,要怎么通过把这个整数转换成两字节?

Xiaojie Hu:

回复 rookiecalf:

上位机用c#写的程序接收,上位机接收到的DSP转换出来的4个字节根本不符合标准IEEE格式,那我要怎么在上位机把它还原成小数?

试过共用体的方法,不过ccs编译过后得到的4个字节跟标准IEEE 格式不一样。

如果把浮点数扩大1000倍,取整。那这个整数也是16位的,sci每次只能发1字节,要怎么通过把这个整数转换成两字节?

rookiecalf:

回复 Xiaojie Hu:

你可以发送的时候按照标准IEEE格式进行

试过共用体的方法,不过ccs编译过后得到的4个字节跟标准IEEE 格式不一样。

如果把浮点数扩大1000倍,取整。那这个整数也是16位的,sci每次只能发1字节,要怎么通过把这个整数转换成两字节?

Xiaojie Hu:

回复 rookiecalf:

就是说自己按IEEE标准写函数把浮点数转换成4字节整型数组?这样会不会太麻烦了,而且每次发送一个浮点数都执行一次转换程序会影响程序时效性啊

试过共用体的方法,不过ccs编译过后得到的4个字节跟标准IEEE 格式不一样。

如果把浮点数扩大1000倍,取整。那这个整数也是16位的,sci每次只能发1字节,要怎么通过把这个整数转换成两字节?

Eric Ma:

原则上都是把浮点数转换成整形数,然后发给串口,可以借鉴IQMATH处理浮点数的方法,用一个long型数据来表示浮点。你要弄成整型数,那就相当于去掉一部分精度。

Eric

试过共用体的方法,不过ccs编译过后得到的4个字节跟标准IEEE 格式不一样。

如果把浮点数扩大1000倍,取整。那这个整数也是16位的,sci每次只能发1字节,要怎么通过把这个整数转换成两字节?

onebyte:

我一直用共用体的方法,挺好用的,数据基本不用处理;

只是根据CCS标准,把数的位置,重排一下便可以了

16位整数,用移位的方式获得字节,一个高8位,一个低8位

试过共用体的方法,不过ccs编译过后得到的4个字节跟标准IEEE 格式不一样。

如果把浮点数扩大1000倍,取整。那这个整数也是16位的,sci每次只能发1字节,要怎么通过把这个整数转换成两字节?

mangui zhang:

你参考一下Q格式的处理方法    肯定是通过放大     然后根据精度分为多个字节 

通过串口传输   然后在做数据的还原

赞(0)
未经允许不得转载:TI中文支持网 » 怎样用28335的sci发送浮点数?
分享到: 更多 (0)