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

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

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

3天內不再提示

一文詳細了解單片機的大小端模式

GReq_mcu168 ? 來源:玩轉單片機與嵌入式 ? 作者:玩轉單片機與嵌入 ? 2022-02-16 17:44 ? 次閱讀

一:什么是大小端?

咱們中文中常常提到的大小端的英文名字為“endianness”,英文直譯的意思是“字節(jié)序”,是內存中存儲數(shù)據(jù)的字節(jié)順序。在這里一定要記住是“字節(jié)的順序”,應為在計算機系統(tǒng)中,都是以字節(jié)為單位的,每個地址單元都對應一個字節(jié),即8bit。

C語言系統(tǒng)中,除了8bit的char類型,還有16bit的short類型、32bit的long類型。對于超過8bit的數(shù)據(jù)的存儲,必然存在存在如何將多個字節(jié)排序的問題,因此就導致了大端存儲模式和小端存儲模式。

如果系統(tǒng)是大端,則首先存儲 MSB 字節(jié),即高字節(jié)存儲在低地址;若系統(tǒng)是小端,則首先存儲LSB字節(jié),即低字節(jié)存儲在低地址。

針對這兩種模式,我常用的記憶宮殿方法是:“小弟弟”,即小端系統(tǒng)的低字節(jié)存儲到低地址,大端則反之。

二:詳解大小端模式

假設,需要存儲的32bit的數(shù)據(jù)為:0x11223344。

一文詳細了解單片機的大小端模式

對于大端模式:低位地址存儲著高字節(jié)的數(shù)據(jù)。

一文詳細了解單片機的大小端模式

對于小端系統(tǒng):低位地址存儲著低字節(jié)的數(shù)據(jù)。

一文詳細了解單片機的大小端模式

在一些MCU中,可以通過軟件將一種字節(jié)序切換為另一種字節(jié)序,即可以通過軟件配置的形式選擇大端模式還是小端模式。

如筆者使用過的一款瑞薩單片機支持字節(jié)序選擇。

一文詳細了解單片機的大小端模式

三:如何判斷單片機的大小端模式?

若想要知道自己使用的單片機是大端或小端模式,可以通過下方的代碼進行判斷。

//檢查大小端模式,大端模式返回true;小端模式返回falsebool CheckisBigEndian(void){    uint32_t u32RawData;    uint8_t *pu8CheckData;    u32RawData = 0x11223344; //Assign data    pu8CheckData = (uint8_t *)&u32RawData; //Type cast    if (*pu8CheckData == 0x44) //check the value of lower address    {        return false;    }    else if (*pu8CheckData == 0x11) //check the value of lower address    {        return true;}}

四:大端模式與小端模式怎么轉換?

我們可以使用 下面的算法將大端模式轉換為小端模式,反之亦然。

//Function to change one endian to anotheruint32_t ChangeEndianness(uint32_t u32Value){    uint32_t u32Result = 0;    u32Result |= (u32Value & 0x000000FF) << 24;    u32Result |= (u32Value & 0x0000FF00) << 8;    u32Result |= (u32Value & 0x00FF0000) >> 8;    u32Result |= (u32Value & 0xFF000000) >> 24;    return u32Result;}

五:STM32是大端還是小端模式?

從下圖中關于STM32的手冊介紹中可發(fā)現(xiàn):我們常用的STM32單片機符合“小弟弟”的存儲邏輯,屬于小端系統(tǒng);

一文詳細了解單片機的大小端模式

原文標題:超全面講解單片機的大小端模式

文章出處:【微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。

審核編輯:湯梓紅


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

    關注

    6039

    文章

    44579

    瀏覽量

    636433
  • 計算機
    +關注

    關注

    19

    文章

    7519

    瀏覽量

    88202
  • C語言
    +關注

    關注

    180

    文章

    7608

    瀏覽量

    137119

原文標題:超全面講解單片機的大小端模式

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    如何優(yōu)化單片機項目的功耗

    功耗低的單片機是優(yōu)化功耗的第步。不同的單片機在工作模式下有不同的功耗表現(xiàn),包括活動模式、睡眠模式
    的頭像 發(fā)表于 11-01 14:16 ?398次閱讀

    基于51單片機的多模式音樂跑馬燈

    ,音樂至少有3首,并可以對其進行切換。 設計介紹 51單片機簡介 51單片種低功耗、高性能CMOS-8位微控制器,擁有靈巧的8位CPU和可編程Flash,使得51單片機為眾多嵌入式
    的頭像 發(fā)表于 10-22 14:10 ?450次閱讀
    基于51<b class='flag-5'>單片機</b>的多<b class='flag-5'>模式</b>音樂跑馬燈

    單片機的中斷機制

    單片機的中斷機制是種重要的處理方式,它允許單片機在執(zhí)行主程序的過程中,能夠暫停當前任務,轉而處理外部或內部緊急事件。這種機制極大地提高了系統(tǒng)的響應速度和處理能力,使得單片機在各種應用
    的頭像 發(fā)表于 10-17 18:03 ?817次閱讀

    單片機出現(xiàn)故障怎么維修

    單片機出現(xiàn)故障時,維修過程需要系統(tǒng)地檢查和診斷,以確定故障的根本原因,并采取相應的修復措施。以下是詳細單片機維修指南,旨在幫助技術人員或愛好者有效地解決
    的頭像 發(fā)表于 10-17 17:57 ?1304次閱讀

    單片機異常復位的原因

    單片機異常復位是指單片機在正常工作過程中,非預期地返回到初始狀態(tài)或重啟。這種異常復位現(xiàn)象可能由多種因素引起,以下是對單片機異常復位原因的詳細分析:
    的頭像 發(fā)表于 10-17 17:56 ?1096次閱讀

    單片機io口輸出電流多大

    單片機IO口的輸出電流大小會受到多種因素的影響,包括單片機的型號、IO口的配置模式以及外部電路的設計等。以下是對單片機IO口輸出電流的
    的頭像 發(fā)表于 09-14 14:29 ?2022次閱讀

    單片機boot0和boot1怎么設置

    單片機Boot0和Boot1簡介 Boot0和Boot1是單片機啟動模式選擇引腳,用于選擇單片機的啟動模式。 Boot0和Boot1的設置方
    的頭像 發(fā)表于 08-22 09:50 ?2782次閱讀

    讀懂什么單片機:組成結構與應用

    歡迎來到單片機的世界,這是種微小(但功能強大)的設備,改變了嵌入式系統(tǒng)的面貌。在本文中,您將了解單片機些基本知識、
    的頭像 發(fā)表于 08-09 11:49 ?1741次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b>讀懂什么<b class='flag-5'>單片機</b>:組成結構與應用

    藍牙模塊如何實現(xiàn)單片機和手機數(shù)據(jù)互傳

    藍牙模塊實現(xiàn)單片機和手機數(shù)據(jù)互傳的過程可以分為以下幾個步驟: 硬件準備 : 確保你有個支持藍牙通信的單片機開發(fā)板,如Arduino、Raspberry Pi等。 準備
    的頭像 發(fā)表于 07-24 17:59 ?2683次閱讀
    藍牙模塊如何實現(xiàn)<b class='flag-5'>單片機</b>和手機<b class='flag-5'>端</b>數(shù)據(jù)互傳

    個暑假如何學習單片機

    個暑假是學習和掌握單片機基礎知識的良好時機。以下是個關于如何在暑假期間學習單片機的建議計劃
    的頭像 發(fā)表于 07-03 09:19 ?542次閱讀
    <b class='flag-5'>一</b>個暑假如何學習<b class='flag-5'>單片機</b>

    帶你詳細了解工業(yè)電腦

    扇設計、承受振動和惡劣環(huán)境的能力、輕松配置、全面的I/O選項、延長生命周期、耐用的組件。了解如何為您的應用選擇工業(yè)電腦對提高設施的生產(chǎn)力和效率至關重要。詳細了解
    的頭像 發(fā)表于 06-12 14:24 ?426次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b>帶你<b class='flag-5'>詳細了解</b>工業(yè)電腦

    單片機內存和程序大小有什么關系嗎?怎么選用不同內存大小單片機

    單片機內存和程序大小有什么關系嗎?怎么選用不同內存大小單片機?僅從成本考慮嗎?
    發(fā)表于 05-16 06:03

    ?51單片機串口通信詳細介紹-小白必看

    51單片機串口通信是單片機與外部設備通信的重要方式,它基于串行通信的原理,以字節(jié)為單位進行數(shù)據(jù)傳輸。在51單片機中,串口通信主要依賴于兩個關鍵寄存器:SBUF寄存器和SCON寄存器。SBUF寄存器用于存儲要發(fā)送或接收的數(shù)據(jù),而S
    的頭像 發(fā)表于 04-17 09:33 ?2056次閱讀
    ?51<b class='flag-5'>單片機</b>串口通信<b class='flag-5'>詳細</b>介紹-小白必看

    單片機變量存儲大小由什么決定?

    最近看到群友在討論【單片機變量存儲大小由什么決定?】的話題。
    的頭像 發(fā)表于 01-26 10:11 ?695次閱讀
    <b class='flag-5'>單片機</b>變量存儲<b class='flag-5'>大小</b>由什么決定?

    單片機原理及應用是什么

    單片機(Microcontroller)是種集成電路(IC)芯片,其中包括了中央處理器(CPU)、存儲器和輸入/輸出(I/O)設備等功能模塊。它是種小型計算機系統(tǒng),具有獨立的工作能力和完整的計算
    的頭像 發(fā)表于 01-12 15:28 ?2185次閱讀
    主站蜘蛛池模板: 午夜影院免费观看| 手机在线看福利| 久久久久久久综合色一本| 久久噜国产精品拍拍拍拍| 久久99精品久久久久久久不卡 | 69性xxxxfreexxxx| 深夜看片在线观看18| 久久国产免费观看精品1| 在线激情网址| 四虎最新地址| 欧美很很干| 国产色av| 午夜寂寞视频在线观看| 美女鲜嫩bbbb| 欧美69xxx| 视频一区二区中文字幕| 妖精视频永久在线入口| 四虎www.| 精品伊人久久大线蕉地址| 成年毛片| 久久久午夜影院| 亚洲精品久久婷婷爱久久婷婷| 免费的色视频| 色老二精品视频在线观看| 九色综合九色综合色鬼| 亚洲午夜综合网| 国产chinesetube| 欧美成年性色mmm| 色香焦| 国模大尺度人体一区| 天天躁狠狠躁夜夜躁| 视频在线免费看| 在线播放亚洲视频| 欧美大片一区| 夜夜想夜夜爽天天爱天天摸| 国产伦精品一区二区三区高清| 性夜黄a爽影免费看| 四虎库| 福利色视频| 亚洲天堂资源| 日韩免费毛片|