對於微控制器中指標操作的進一步理解

2021-09-12 06:53:54 字數 1028 閱讀 6170

乙個位址對應乙個位元組的資料,沒有字位址之說;

指標型別的含義是指將要對該位址開始的多少多少位元組進行操作,以及操作模式;

當我們對乙個位址進行增減操作時,其所增加或減少的數量和定義時的資料型別有關

指標型別強制轉換的意思是指,我將要對該位址所開始的多少多少位元組資料進行操作

乙個位址就是對應乙個位元組的資料,即8 位;

uint8_t* address;

/* 對data 位址開始的8 位資料進行操作,即可以一次讀寫8 位 */

uint16_t* address;

/* 對data 位址開始的16 位資料進行操作,即可以一次讀寫16 位 */

uint32_t* address;

/* 對data 位址開始的32 位資料進行操作,即可以一次讀寫32 位 */

例如當我們定義乙個uint32_t 型別的資料時,我們對該資料位址進行加一,然後得到的資料位址 = 原位址 + 4

同理,若是uint16_t 型別資料,則資料位址 = 原位址 + 2

若是uint8_t 型別資料,則資料位址 = 原位址 + 1

其實就是,將乙個位址進行強制轉換後,該位址的所有資訊都沒有發生任何變化,唯一變化的地方就是我對該位址所提取的資料位元組數量

*

(uint32_t*

)address /* 對該位址開始的32 位資料進行讀寫 */

*(uint16_t*

)address /* 對該位址開始的16 位資料進行讀寫 */

*(uint8_t*

)address /* 對該位址開始的8 位資料進行讀寫 */

推薦一篇同樣不錯的blo

關於DOMAIN TESTING的進一步理解

在cem kaner的 中有這樣一句話 domain testing is a type of functional testing 13,14 we view the program as a function and test it by feeding it interesting input...

了解微控制器的第一步

第一次接觸串列埠資訊傳輸的概念 對51微控制器串列埠的工作方式有了初步的理解,了解一下新名詞 1.uart 通用非同步傳送 接收器 universal asynchronous receiver transmitter 2.波特率 3.sbuf 序列口緩衝區 往sbuf中載入資料就自動傳送 接收的資...

Emacs 1 1 進一步的概念與操作

emacs中的乙個頁面稱為乙個緩衝區 當開啟多個緩衝區時,可通過c x b name切換到名字為name的。更方便的可以通過c x 方向鍵,來向左或向右切換緩衝區。有很多時候需要同時看多個檔案 比如一邊是文件,一邊是 emacs在這方面是很方便 c x 1 只保留當前視窗 c x2 將當前視窗分成上...