Re: [问题]Float的资料用Char的Buffer传输

楼主: chuegou (chuegou)   2016-06-06 17:06:53
: 我目前也是类似要送资料到嵌入式芯片里,
: 本来是用RS232送 是char 8bits合成一个float
: union DataSpace
: {
: unsigned char Quarter[4];
: float Full;
: }Float_Data;
: 后面是用 Float_Data.Quarter[k]= (char) 接收到的值
: 不过现在想改成用蓝芽 不过发送的好像是ASCII
电脑 蓝芽 嵌入式
3
作者: wxtab019 (天霜凝月)   2016-06-06 17:31:00
目前是去找一些手机app 像bluetooth terminal 来用用手机传 这个感觉是传ASCII码的 所以才又做处理本来用RS232传是直接传float数值 可是HC-06是传charfloat可以传小数 一长串数字 不过char 1个就只能存1个所以现在才在想怎么弄 谢谢你的回答最后还是希望能转回float 不是char或str是这样没错 只是有时候像只传 2 就只有1个char或是要传12345 12.34之类的 就超过4个char了直接用float传没这问题 用char传就不知道空的或多的怎么
作者: IKAFIRE (没有)   2016-06-06 17:53:00
我想你误会用char传的意思了
楼主: chuegou (chuegou)   2016-06-06 18:45:00
惨...我现在觉得我还没完全理解原PO的问题(苦笑)
作者: wxtab019 (天霜凝月)   2016-06-06 19:20:00
因为目前是要传的值存在Quarter[0] Quarter[1]...[2][3]只是例如传3的话 他就只存在Quarter[0] 后面就没东西像我在手机输入3(ASCII) 从蓝芽传到HC-06 再传到芯片因为HC-06一次传只传1个char 8bits 所以只会存在[0]设中断flag接收到4个char中断一次的话 只收到一个就还不会中断 所以会还没办法收到值目前大概先暂时放下这边了...之后弄懂怎么用再继续 谢谢这几天都在弄这个 一开始不知道蓝芽的传输资料型态一直抓不到资料 还要去找baudrate设定然后突然抓的到资料 可是是错的 才发现是ASCII 用char传以后不懂的东西还是不要这样赶工好了...发送端目前试是只能送char而已 本来用RS232的话可以要找到懂C又懂dsPIC 还懂蓝芽传输+通讯协定 串行式传输等等的 好像也不太容易阿XD
作者: ogisun   2016-06-08 01:26:00
系列文有一篇指标是普遍的拆法 不然就自己写IEE754转换所以wxtab的问题是3没办法拆成40 40 00 00这样吗?
作者: wxtab019 (天霜凝月)   2016-06-08 17:30:00
虽然可能因为是我用的app关系 只是去google找一些来用

Links booklink

Contact Us: admin [ a t ] ucptt.com