在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

串口數據傳輸中的共用體和結構體如何轉換?

h1654155149.6853 ? 來源:電子工程世界 ? 2023-03-14 16:53 ? 次閱讀

我們知道,浮點型float數據類型占用4個字節,實際上在內存當中a = 0x43678000,只是嵌入式芯片訪問a時,知道a是浮點型數據,所以一次性讀取4個字節,而且也按照浮點型的數據表示規定,將a轉換為十進制的可讀數據231.5。

如果我們從串口接收到4個字節數據{0x43,0x67,0x80,0x00},如何把這4個字節的數據轉換為float型呢?

直接令float a = 0x43678000這是不行的(不信的讀者可以自行驗證),這就是串口通訊當中經常遇到的問題,如果數據傳輸中包括了浮點型數據,在這里我們可以通過共用體或者結構體來解決。

對于共用體:

354554a4-c23a-11ed-bfe3-dac502259ad0.png

f 的4個字節和s[4]的4個字節是共用一個區域,如果我們令f = 231.5,然后通過監視窗查看s[4]的數值,下面是測試程序:

3569ed6e-c23a-11ed-bfe3-dac502259ad0.png

監視結果如下所示:

357e1ff0-c23a-11ed-bfe3-dac502259ad0.png

我們同樣適用結構體做了相同的實驗,將數組s[4]={0x00,0x80,0x67,0x43}的首地址s[0]強制轉換賦值給結構體z,最后打印輸出的結果也是231.5這里我們看到原本應該是0x4367_8000的數據實際存儲的時候變成了00H 80H 67H 43H,這是因為計算機系統使用了小端存儲。

什么是小端存儲呢?

我們都知道,對于一個超過一個字節的數據,其在計算機中的存儲需要跨越字節。某些機器選擇在存儲器中按照從最低為有效字節到最高有效字節的順序存儲對象,而另一些機器則按照從最高為有效字節到到最低為有效字節的順序存儲,前一種存儲方式被稱為小端存儲,后一種方式被稱為大端存儲。

舉個例子,對于十六進制數0x01234567,其字節的存儲順序便依賴于機器,如下:

35c22de4-c23a-11ed-bfe3-dac502259ad0.png

我們可以通過下面的函數測試是大端存儲還是小端存儲:

35d7fb24-c23a-11ed-bfe3-dac502259ad0.png

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5092

    文章

    19177

    瀏覽量

    307672
  • 數據傳輸
    +關注

    關注

    9

    文章

    1952

    瀏覽量

    64853
  • 內存
    +關注

    關注

    8

    文章

    3055

    瀏覽量

    74329
  • 串口
    +關注

    關注

    14

    文章

    1557

    瀏覽量

    77041
  • 結構體
    +關注

    關注

    1

    文章

    130

    瀏覽量

    10872

原文標題:干貨 | 串口數據傳輸中的共用體和結構體如何轉換?

文章出處:【微信號:電子工程世界,微信公眾號:電子工程世界】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    C語言-枚舉、共用

    前面章節學習了結構結構里可以按順序存放相同或者不同的數據類型,每個成員都有它對應的存儲空間。 而
    的頭像 發表于 09-09 11:31 ?1022次閱讀

    socket 傳輸結構 省去字符與數據轉換

    socket通訊send函數直接傳送的是字符串為了避免客戶端和服務器斷的數據格式轉換,使用結構傳輸
    發表于 09-25 16:58

    結構-共用和用戶定義類型

    結構-共用和用戶定義類型
    發表于 01-31 10:48

    模擬數字轉換數據傳輸

    的穩定性,令數據傳輸出現誤碼。克服這些問題的其中一個辦法是采用低電壓差分信號 (LVDS) 數據總線。圖 1 是其中一種模擬/數字轉換器的結構框圖,帶有LVDS 輸出信號,驅動專用集成
    發表于 07-12 06:18

    串口傳輸結構是什么意思

    串口傳輸 結構就是 把結構 轉換為 數組 ,然后傳輸
    發表于 07-14 08:34

    結構共用的區別

    轉載重點:共用的所有成員占用同一段內存,修改一個成員會影響其余所有成員。圖形分析影響過程通過前面的講解,我們知道結構(Struct)是一種構造類型或復雜類型,它可以包含多個類型不同
    發表于 07-20 06:57

    C語言的結構共用在單片機的妙用是什么

    【分享】C語言的結構共用在單片機的妙用C語言的結構
    發表于 11-30 06:13

    怎樣去使用C語言的結構共用

    C語言的結構共用分別有何特點呢?怎樣去使用C語言的結構
    發表于 01-17 07:51

    stm32數據傳輸的相關資料分享

    簡介DMA,全稱Direct Memory Access,即直接存儲器訪問。DMA傳輸數據從一個地址空間復制到另一個地址空間,提供在外設和存儲器之間或者存儲器和存儲器之間的高速數據傳輸。它的作用
    發表于 02-22 06:58

    數據傳輸的成幀

    什么是數據傳輸的成幀 數據傳輸的成幀 成幀技術是一種用來在一個比特流內分配或標記信道的技術,為電信提供選擇基本的時隙結構和管理方式、
    發表于 03-18 14:46 ?3763次閱讀

    McBSP技術在數據傳輸的應用

    在嵌入式數據傳輸系統中經常會遇到DSP芯片與模/數轉換器接口的問題,為提高信號的采樣、傳輸速度與精度,增強系統可靠性,給出了基于DSP芯片的多通道緩沖串口(McBSP)在
    發表于 05-03 18:05 ?34次下載

    共用結構的區別

    在c++結構(struct)和共用(union)是兩種很相似的復合數據類型,都可以用來存
    發表于 11-19 17:46 ?3.7w次閱讀

    C語言的結構共用在單片機的妙用

    【分享】C語言的結構共用在單片機的妙用C語言的結構
    發表于 11-20 19:36 ?20次下載
    C語言的<b class='flag-5'>結構</b><b class='flag-5'>體</b>和<b class='flag-5'>共用</b><b class='flag-5'>體</b>在單片機<b class='flag-5'>中</b>的妙用

    串口傳輸數據時,結構如何轉換

    嵌入式系統的串口數據傳輸都是以字節為單位,但是有些特殊的數據類型,比如浮點型float a=231.5,在內存是如何表示的呢?
    的頭像 發表于 05-19 10:52 ?790次閱讀
    <b class='flag-5'>串口傳輸</b><b class='flag-5'>數據</b>時,<b class='flag-5'>結構</b><b class='flag-5'>體</b>如何<b class='flag-5'>轉換</b>?

    串口數據傳輸共用結構之間的轉換技巧

    如果我們從串口接收到4個字節數據{0x43,0x67,0x80,0x00},如何把這4個字節的數據轉換為float型呢?
    的頭像 發表于 03-22 12:28 ?786次閱讀
    <b class='flag-5'>串口</b><b class='flag-5'>數據傳輸</b><b class='flag-5'>共用</b><b class='flag-5'>體</b>與<b class='flag-5'>結構</b><b class='flag-5'>體</b>之間的<b class='flag-5'>轉換</b>技巧
    主站蜘蛛池模板: 黄色美女网站在线观看 | 国产激烈床戏无遮挡观看 | 午夜免费的国产片在线观看 | 美女又黄又免费的视频 | 亚洲xxx视频| www.a级片| 亚洲a网站| 六月婷婷在线 | 国产乱子伦一区二区三区 | 另类五月 | 男女交性动态免费视频 | 婷婷久操 | 91网站免费在线观看 | 加勒比在线视频 | 亚洲久优优色优在线播放 | 毛片一区二区三区 | 午夜欧美精品久久久久久久 | 日一日操一操 | 欧美黄色xxx | 国产精品7m凸凹视频分类大全 | 给个网站可以在线观看你懂的 | 久久dvd| 四虎黄色片 | 九九精品久久久久久噜噜 | 久草免费在线播放 | 国产精品黄页网站在线播放免费 | 四虎影院的网址 | 欧美性色黄 | 日本吻胸抓胸激烈视频网站 | 手机看片福利视频 | 天天摸天天做天天爽水多 | 台湾一级毛片 | 午夜免费福利片 | luxu259在线中文字幕 | 日本一区二区视频在线观看 | 午夜亚洲视频 | 欧美八区| 男女爱爱免费 | 国产yin乱大巴视频 国产爱v | 国产资源视频 | 国产馆精品推荐在线观看 |