国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

協議中遇到字節高低位轉換的問題如何實現

Q4MP_gh_c472c21 ? 來源:嵌入式ARM ? 作者:李肖遙 ? 2020-12-06 09:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

最近的協議中遇到字節高低位轉換的問題,于是偷懶上網查看,遇到類似的問題,也認識一個新的名字,叫做蝶式交換

問題是這樣子的

協議要求字節低位在左,高位在右,對每個字節做轉換處理,逐個交換其高低位,例如11010001,經過0->7,1->6,2->5,3->4對應位的交換,變成10001011。

這里就需要有位操作的知識,參考位操作運算有什么奇技淫巧?(附源碼)

這里我們以8位數據高低位轉換為例子:

熟悉位操作,上述代碼實現起來就比較簡單。在嵌入式開發中這類問題通常使用蝶式交換法和查表法來實現。

高階實現?

查表法就是將一些值存到內存中,在需要計算的時候查表,但是這種方法會占用額外的存儲空間。

所以這里主要介紹一下蝶式交換法,我們以8位數據轉換為例。

假設原始序列為:1 2 3 4 5 6 7 8

目標序列為:8 7 6 5 4 3 2 1

那么流程圖如下:

由此完成了整個位的逆序轉換,同樣以11010001為例,下面是具體的實現代碼:

交換字節的高低位并不是一個很常見的問題,遇到該問題時,需要經過仔細的分析,加上對C語言位操作的熟練掌握,就能夠很好的解決這一類的問題。

擴展

那么我們將其擴展到16位半字數據的高低位轉換。

其實原理是跟8位的時候是一樣的,采用簡單的移位方式對數據的高低位進行轉換。熟悉位操作的話代碼就相對簡單了。

下面是對該思路的具體實現。

同樣的所謂的蝶式交換法,我引用了字節交換法的例子,我們可以演算一下:

假設原始序列為:a b c d e f g h i j k l m n o p

目標序列為:p o n m l k j i h g f e d c b a

那么流程圖如下:

由此完成了整個位的逆序轉換,完成了算法的拓展,以1001011001011011為例,下面是具體的實現代碼:

對于這種交換位的問題,在嵌入式開發中會經常遇到,熟悉掌握位操作還有調試手段很重要。熟練的利用好C語言的移位操作,就能快速的解決此類問題。

總結

上面的問題關鍵還是位操作的靈活妙用,其次是寫了兩個打印二進制的函數,方便使用,代碼可以直接使用,調試不易,歡迎點贊,在看,轉發也是厚愛,我們下一期,再見!

責任編輯:xj

原文標題:嵌入式編程中的高低位交換如何實現?

文章出處:【微信公眾號:嵌入式ARM】歡迎添加關注!文章轉載請注明出處。

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

    關注

    5198

    文章

    20449

    瀏覽量

    334096
  • 編程
    +關注

    關注

    90

    文章

    3716

    瀏覽量

    97191

原文標題:嵌入式編程中的高低位交換如何實現?

文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    工業協議轉換網關哪個好用?有什么推薦?

    智能化轉型的首要難題。工業協議轉換網關(Protocol Conversion Gateway)正是解決這一難題的關鍵設備,它充當著“翻譯官”和“交通樞紐”的角色,能夠實現不同協議間的
    的頭像 發表于 01-20 11:44 ?470次閱讀
    工業<b class='flag-5'>協議</b><b class='flag-5'>轉換</b>網關哪個好用?有什么推薦?

    嵌入式的浮點型數據轉換字節類型的三種方法

    單精度浮點型變量 double b; // 聲明雙精度浮點型變量 單精度(float型)與雙精度(double型)的區別 float 單精度浮點數內存占 4 個字節,用 32 位二進制描述
    發表于 01-07 06:28

    嵌入式編程中高低位交換如何實現

    問題是這樣子的: 協議要求字節低位在左,高位在右,對每個字節轉換處理,逐個交換其高低位,例如1
    發表于 12-24 08:25

    SWD調試通信協議

    給目標芯片 SWDIO 為雙向數據信號,由調試器和目標芯片雙向分時驅動 協議定義了長度為一個 SWCLK 周期的收發端轉換時間,在收發端轉換時間內,調試器和目標芯片都不驅動SWDIO,SWDIO 由上拉
    發表于 12-22 14:46

    為什么會有小端字節

    答案是,計算機電路先處理低位字節,效率比較高,因為計算都是從低位開始的。所以,計算機的內部處理都是小端字節序。 但是,人類還是習慣讀寫大端字節
    發表于 12-15 06:24

    RS485轉EtherCAT協議轉換網關詳細解析

    EtherCAT至RS232/RS485協議轉換網關在工業通信架構承擔著關鍵角色,其核心功能在于實現高速實時工業以太網與經典串行通信之間的無縫協議
    的頭像 發表于 11-08 16:30 ?725次閱讀
    RS485轉EtherCAT<b class='flag-5'>協議</b><b class='flag-5'>轉換</b>網關詳細解析

    用于各種設備協議間做報文轉換的網關是什么

    功能是實現不同協議格式的報文(數據)在傳輸過程的解析、轉換和轉發。 一、協議轉換網關的核心作用
    的頭像 發表于 08-11 14:08 ?1037次閱讀
    用于各種設備<b class='flag-5'>協議</b>間做報文<b class='flag-5'>轉換</b>的網關是什么

    激光焊接技術在焊接高低壓斷路器工藝的應用

    高低壓斷路器作為電力系統的核心保護裝置,其內部關鍵部件的連接質量直接影響著設備的開斷能力、載流穩定性及長期運行可靠性。傳統的焊接方法在應對精密導電回路、密封殼體以及微型化組件時,常遇到熱損傷、變形
    的頭像 發表于 08-04 14:27 ?604次閱讀
    激光焊接技術在焊接<b class='flag-5'>高低</b>壓斷路器工藝<b class='flag-5'>中</b>的應用

    Modbus協議轉換:讓工業設備輕松“對話”

    在工業自動化,Modbus協議是設備通信的關鍵。本文將聚焦于Modbus協議的串口與網口轉換需求,并通過ZLG致遠電子PXB-6030D的案例,展示如何輕松
    的頭像 發表于 07-15 11:47 ?658次閱讀
    Modbus<b class='flag-5'>協議</b><b class='flag-5'>轉換</b>:讓工業設備輕松“對話”

    Ethernet IP轉Modbus網關在熱泵機組協議轉換技術實現

    ,例如空調熱泵機組的控制與監控,我們可能需要將這兩種協議進行轉換,此時便需要借助開疆智能Ethernet IP轉Modbus網關KJ-EIP-101來實現數據和控制信號的無縫對接。來了解一下
    的頭像 發表于 06-04 17:22 ?537次閱讀
    Ethernet IP轉Modbus網關在熱泵機組<b class='flag-5'>中</b>的<b class='flag-5'>協議</b><b class='flag-5'>轉換</b>技術<b class='flag-5'>實現</b>

    Profinet轉DeviceNet網關協議轉換的技術實現與應用分析

    Profinet網關模塊之Profinet從站轉DeviceNet主站協議轉換方案說明,如下: 石家莊某生產車間內,原有現場設備包含配備了DeviceNet通訊卡的艾默生變頻器、AB的軟啟動器,它們
    的頭像 發表于 05-29 09:16 ?881次閱讀
    Profinet轉DeviceNet網關<b class='flag-5'>協議</b><b class='flag-5'>轉換</b>的技術<b class='flag-5'>實現</b>與應用分析

    使用FX3測試程序的數據流時,遇到了每8個字節重復的場景,是什么原因導致的?

    我在使用 FX3 測試程序的數據流時,遇到了每 8 個字節重復的場景。
    發表于 05-21 06:59

    CANFD協議轉換器:搭建通訊橋梁

    局域網絡靈活數據速率)協議與其他協議進行轉換,以便在物聯網環境實現設備之間的互聯互通。近期發現了兩款產品USR-CAN315(CANFD轉
    的頭像 發表于 04-19 09:48 ?889次閱讀
    CANFD<b class='flag-5'>協議</b><b class='flag-5'>轉換</b>器:搭建通訊橋梁

    興達易控modbus協議轉換網關配置步驟

    Modbus協議轉換網關作為工業自動化系統的關鍵組件之一,在實現不同設備之間的數據交換和協議轉換
    的頭像 發表于 03-16 16:07 ?865次閱讀
    興達易控modbus<b class='flag-5'>協議</b><b class='flag-5'>轉換</b>網關配置步驟

    EtherNet/IP轉Modbus借助網關模塊達成羅克韋爾PLC和變頻器協議轉換通信

    在工業自動化生產環境,空壓機作為重要的氣源設備,其穩定運行和有效監控對于整個生產流程至關重要。然而,不同廠家生產的空壓機可能采用不同的通信協議,這給集中監控和管理帶來了挑戰。在本次案例,我們
    的頭像 發表于 03-10 11:02 ?806次閱讀
    EtherNet/IP轉Modbus借助網關模塊達成羅克韋爾PLC和變頻器<b class='flag-5'>協議</b><b class='flag-5'>轉換</b>通信