|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
各位大俠,問問幾個關(guān)于學(xué)LPC2104芯片的困惑 |
| 作者:zhb_wait 欄目:ARM技術(shù) |
我用的是LPC2104芯片。有個問題請教。 我看到《ARM微控制器基礎(chǔ)與實戰(zhàn)》一書中關(guān)于SPI的程序,想問幾個問題。 /* SPI總線接口的特殊寄存器 */ #define SPI_SPCR (*((volatile unsigned CHAR *) 0xE0020000)) 這樣定義是什么意思呢?是定義SPI_SPCR的的具體地址嗎?如果是,為什么要以宏定義方式出現(xiàn)呢,這樣的定義的語法是什么呢?在哪里可以找到具體的資料呢? 謝謝啊。請回答。我急死了。 |
| 2樓: | >>參與討論 |
| 作者: kaolacatty 于 2005/1/24 14:48:00 發(fā)布:
把0xE0020000強(qiáng)制轉(zhuǎn)換為一個地址指針。 C語言類型強(qiáng)制轉(zhuǎn)換的地方應(yīng)該有講吧 |
|
| 3樓: | >>參與討論 |
| 作者: zhb_wait 于 2005/1/24 15:30:00 發(fā)布:
我現(xiàn)在這樣理解的,你看對不對啊 (volatile unsigned CHAR *) 0xE0020000 這一步實現(xiàn)將數(shù)字0xE0020000強(qiáng)制轉(zhuǎn)換為一個指針,即一個地址。 (*((volatile unsigned CHAR *) 0xE0020000)) 這一步是將該指針?biāo)赶虻膯卧窭锩娴膬?nèi)容通過宏定義方式賦給SPI_SPCR 如果SPI_SPCR是一個寄存器的話,以后可以通過給SPI_SPCR賦值來實現(xiàn)給寄存 器賦值 對嗎?? |
|
| 4樓: | >>參與討論 |
| 作者: wangkj 于 2005/1/24 15:32:00 發(fā)布:
表示該寄存器不會被優(yōu)化掉。 這是一個可能被外部更新的地址,而不是僅僅依靠代碼更新。 通常用于硬件寄存器,防止被錯誤的優(yōu)化。 這是ADS中用到的。 |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |