FM28335串口发送浮点型数据。关键问题是怎么把浮点型转为同数值字符串?怎么转/

2019-03-23 22:25发布

FM28335发送时会自动将小数点后的抹去,转为十六进制,要怎么 才能正确发送浮点型数据呢?
在接受来自上微机的数据时,只能接收一字节,比如发送1.2和10,都实现接收到1,这个问题要怎么解决呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
17条回答
lcofjp
1楼-- · 2019-03-24 05:51
 精彩回答 2  元偷偷看……
shipeng
2楼-- · 2019-03-24 11:26
< :TI_MSP430_内容页_SA7 --> FM28335是个单片机吗?对于浮点型单片机里面一般占用4个字节,如果只是要发送这4个字节的数据可以根据单片机的大小端,以常见的小端低地址表示多字节变量地址为例:
定义:float f_buf4;
发送方式:
依次发送 *((char *)&f_buf4),*((char *)&f_buf4+1),*((char *)&f_buf4+2),*((char *)&f_buf4+3).

第二个问题你的描述我不是很理解。
初来乍到学习者
3楼-- · 2019-03-24 14:26
整数部分和小数部分分开发送
wsdymg
4楼-- · 2019-03-24 17:14
 精彩回答 2  元偷偷看……
findif
5楼-- · 2019-03-24 20:32
lcofjp 发表于 2018-4-25 21:58
接收到一字节,存起来,然后就可以接收第二个字节了,以此类推,接收多少字节都不是事。

方法一:就比如上位机发送的是1.2 给28335,您的意思是,我依次存储1和点和2,再把他们拼凑成1.2吗?
请问我如果用FIFO模式设置为28335每接收到三个字节就产生一次中断,是不是能直接在28335里读取到1.2,而不用方法一呢?FIFO的功能还不是很理解
lcofjp
6楼-- · 2019-03-25 01:41
findif 发表于 2018-4-27 10:48
方法一:就比如上位机发送的是1.2 给28335,您的意思是,我依次存储1和点和2,再把他们拼凑成1.2吗?
请 ...

我建议你多看看书,好好打打基础,即使FIFO能那样用,现实中也不能那样用,实际应用中给你发多少字节是不可能确定的,所以你要做的是写通用的串口程序,不要写出来的代码只能接收一个字节、两个字节,没有实用价值。

一周热门 更多>

相关问题

    相关文章