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