在使用C語言做運算處理時,難免會與用到浮點數(Float)運算,

但是如果要將浮點數的數值做資料傳輸,如SPI,UART或USB時,就會遇到困難,

因為通常傳輸的數據是使用Byte的形式,

Microchip C語言的浮點數占了4個Byte的空間,

所以可以將Float拆成4個Byte來傳輸,

網路上查了幾個方式,不過我覺得用union的方式還滿方便的,

程式內容如下:

union
{
 float Variable 1;
 unsigned char Vabiable_byte[4];
}Float_Format;

很簡單的,浮點數變數Variable 1的值立刻就變成了Vabiable_byte[4]。

文章標籤
創作者介紹
創作者 fishark 的頭像
fishark

魚的方舟 * 圖形語言的世界* - LabVIEW 工作室 & APP開發研究室 & Arduino整合開發 -

fishark 發表在 痞客邦 留言(3) 人氣()


留言列表 (3)

發表留言
  • 訪客
  • 請問一下,傳送端將float拆成4 Bytes傳送之後,

    那接收端要如何把4 Bytes再結合成float呢?
  • 訪客
  • 接收端也宣告union把4个byte存到array中再去取回 variable1即可,特别注意ram和通讯buffer顺序
  • fishark
  • 謝謝補充說明~~~

您尚未登入,將以訪客身份留言。亦可以上方服務帳號登入留言

請輸入暱稱 ( 最多顯示 6 個中文字元 )

請輸入標題 ( 最多顯示 9 個中文字元 )

請輸入內容 ( 最多 140 個中文字元 )

請輸入左方認證碼:

看不懂,換張圖

請輸入驗證碼