問:我想訪問某個字節(jié)中的單個位,但是當我嘗試用絕對變量結構定義一個位變量時,例如:
static bit bitvar @ ((unsigned)&bytevar)*8+0;
我得到一個編譯錯誤。我該怎么做?
答:簡單地回答是,你不能這么做。使用@定義絕對變量結構,在編譯時需要一個已知地址。(譯者注:編譯器編譯到這一行時,bytevar的地址并不確定)
更詳細的(可能也是更有用的)回答是,這要看具體你是要做什么。你可能會在下面的一些簡單的宏定義中找到你所需要的東西:
#define testbit(var, bit) ((var) & (1 <<(bit)))
#define setbit(var, bit) ((var) |= (1 << (bit)))
#define clrbit(var, bit) ((var) &= ~(1 << (bit)))
或者你可以定義一個聯(lián)合union,例如:
union both {
unsigned char byte;
struct {
unsigned bit0:1; // etc.
} bits;
} var;
于是你就可以直接引用var.byte或者var.bits.bit0。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
相關推薦
比如需要一個變量,8位足夠,那么定義的時候是定義成u8?u16?u32?
“32位在某些情況下需要對齊,對datafalsh讀寫時地址要是4的整數倍
編程方面如果RAM足夠考慮
發(fā)表于 05-14 07:29
空間并寫入新的代碼。此外還具備執(zhí)行效率高,壽命長優(yōu)點。
本文檔介紹和說明在 MDK 開發(fā)環(huán)境下將代碼重定向到 RAM 中執(zhí)行的方法。本文檔使用開發(fā)環(huán)境位 keil UVision,版
發(fā)表于 05-16 11:58
拷貝到對應ram內存中,當在線標定時,會直接操作ram中相應的地址,以實現(xiàn)參數在線修改。
請問ESP32如何實現(xiàn)Flash到ram重
發(fā)表于 06-14 06:31
隨著單片機功能的拓展,協(xié)議棧or算法因此變得越來越龐大,此時內部RAM是不能滿足需求了,必須將變量定義在外部RAM(如SDSRAM)。那么如何將變量定義在外部
發(fā)表于 01-21 08:28
拷貝到對應ram內存中,當在線標定時,會直接操作ram中相應的地址,以實現(xiàn)參數在線修改。請問ESP32如何實現(xiàn)Flash到ram重
發(fā)表于 02-13 08:42
拷貝到對應ram內存中,當在線標定時,會直接操作ram中相應的地址,以實現(xiàn)參數在線修改。請問ESP32如何實現(xiàn)Flash到ram重
發(fā)表于 03-06 08:35
如果S32K312運行autosar RAM資源不夠用導致程序死機,請問有什么好的解決辦法嗎?我們可以想到一些方法1、直接定義函數和變量給TCM執(zhí)行。這涉及到修改啟動文件和重新
發(fā)表于 03-15 06:24
RAM的位擴展接法
發(fā)表于 12-04 17:16
?2099次閱讀
原文鏈接:freescale 16位單片機的地址映射--(1)前言 freescale 16位單片機的地址映射--(2)飛思卡爾16位單片機
發(fā)表于 11-24 07:43
?1157次閱讀
成員變量是指定維度的成員變量,用于標識某個維度成員。簡介由 Analysis Services 內部使用的值,以標識某個維度成員。MemberKeyColumn 屬性指定維度的成員
發(fā)表于 12-11 13:50
?6923次閱讀
本文檔的主要內容詳細介紹的是DSP從FLASH到RAM的方法詳細資料說明。
發(fā)表于 01-17 16:58
?22次下載
位帶操作牽涉到的一個重要知識點就是指針變量。這種位帶映射操作,就是操作映射過后的地址,其實就是操
發(fā)表于 02-08 15:57
?3次下載
這種位帶映射操作,就是操作映射過后的地址,其實就是操作指針變量(存放地址的變量)。 指針變量
發(fā)表于 12-29 13:52
?761次閱讀
問:如何指定代碼、常數或變量到某個特定的地址? 答:使用“#pragma psect”偽指令來把代碼、常數或變量放到你定制的psect。于是你就可以使用鏈接器選項來把這個定制的psect放到
發(fā)表于 01-22 14:52
?2683次閱讀
TSMaster信號映射模塊可以將數據庫變量映射為系統(tǒng)變量,經過映射后的系統(tǒng)變量就等同于數據庫中
發(fā)表于 02-19 14:00
?579次閱讀
評論