[導(dǎo)讀]在單片機中我們經(jīng)常需要訪問某個指定的寄存器或者到指定的RAM地址,在本文為簡單描述,下文所說的存儲器可指:寄存器,RAM等。01宏定義:定義一個宏,將地址值轉(zhuǎn)化為C指針,然后取這個指針指向的內(nèi)容,這樣就可以訪問存儲了,代碼如下:#defineSDA_DIR_REG*(__IOui...
在單片機中我們經(jīng)常需要訪問某個指定的寄存器或者到指定的RAM地址,在本文為簡單描述,下文所說的存儲器可指:寄存器,RAM等。0
1宏定義:
定義一個宏,將地址值轉(zhuǎn)化為C指針,然后取這個指針指向的內(nèi)容,這樣就可以訪問存儲了,代碼如下:
#define SDA_DIR_REG *(__IO uint32_t *)SDA_MOD_OFFSET 分析:
(__IOuint32_t *)SDA_MOD_OFFSE 是強制類型轉(zhuǎn)換強制轉(zhuǎn)換為指針*(__IOuint32_t *)SDA_MOD_OFFSET 取這個指針里內(nèi)容。這是一種很簡單實用的方法,對于訪問某個寄存器是很長好用的。舉例:
*(__IOuint16_t *) (((uint32_t)0x60020000) ) (((uint32_t)0x60020000))是32位的IO地址(物理地址,硬件上設(shè)定的,不可修改) *(__IO uint16_t*)是讀取該地址的參數(shù)值,其值為16位參數(shù)。
實際上是讀取0x60020000寄存器的參數(shù),或者可以說是這個IO口現(xiàn)在的狀態(tài)。
0
2結(jié)構(gòu)體:
將存儲器定義為一種數(shù)據(jù)結(jié)構(gòu),然后定義一個指向結(jié)構(gòu)體的指針。
符合CMSIS的設(shè)備驅(qū)動庫就是這樣做的
typedef struct{ __IO uint32_t MODER; /*!< GPIO port mode register, Address offset: 0x00 */ __IO uint32_t OTYPER; /*!< GPIO port output type register, Address offset: 0x04 */ __IO uint32_t OSPEEDR; /*!< GPIO port output speed register, Address offset: 0x08 */ __IO uint32_t PUPDR; /*!< GPIO port pull-up/pull-down register, Address offset: 0x0C */ __IO uint32_t IDR; /*!< GPIO port input data register, Address offset: 0x10 */ __IO uint32_t ODR; /*!< GPIO port output data register, Address offset: 0x14 */ __IO uint16_t BSRRL; /*!< GPIO port bit set/reset low register, Address offset: 0x18 */ __IO uint16_t BSRRH; /*!< GPIO port bit set/reset high register, Address offset: 0x1A */ __IO uint32_t LCKR; /*!< GPIO port configuration lock register, Address offset: 0x1C */ __IO uint32_t AFR[2]; /*!< GPIO alternate function registers, Address offset: 0x20-0x24 */} GPIO_TypeDef;
#define PERIPH_BASE ((uint32_t)0x40000000)#define AHB1PERIPH_BASE (PERIPH_BASE 0x00020000)#define GPIOC_BASE (AHB1PERIPH_BASE 0x0800)#define GPIOC ((GPIO_TypeDef *)GPIOC_BASE) 大家看著上面的代碼應(yīng)該很熟悉,這就是我在ST給的標(biāo)準(zhǔn)外設(shè)庫中復(fù)制的,這也是CMSIS標(biāo)準(zhǔn)的驅(qū)動發(fā)方式。
我在《STM32驅(qū)動LCD實戰(zhàn)》文中就是使用這種方式驅(qū)動操作LCD。代碼如下。
typedef struct{ uint8 LCD_CMD;//用于LCD命令操作 uint8 LCD_DATA;//用于LCD數(shù)據(jù)操作} LCD_TypeDef;#define LCD_BASE ((uint32_t)(0x60000000 | 0x0000FFFF))#define LCD ((LCD_TypeDef *) LCD_BASE) 詳解如下:
LCD->LCD_CMD :是地址((uint32_t)(0x60000000| 0x0000FFFF))上的數(shù)據(jù)LCD->LCD_DATA:是地址((uint32_t)(0x60000000| 0x00010000))上的數(shù)據(jù)這種驅(qū)動方式更加簡潔,代碼結(jié)構(gòu)化。個人也更喜歡這種方式。0
3對比
方法1:簡單,但是生成代碼效率低,因為寄存器的地址值都會被存儲為常量,代碼體積會變大。由于需要訪問的更多寄存器來設(shè)置地址值,運行速度會更低。不過,若外設(shè)控制代碼值操作1個寄存器,效率就和方法2相同了方法2:允許外設(shè)中的多個寄存器共用一個常量作為基地址。訪問每個寄存器時可以用立即數(shù)偏移尋址模式。
本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
June 24, 2025 ---- 近期市場對于NVIDIA RTX PRO 6000系列產(chǎn)品的討論聲量高,預(yù)期在需求支撐下,整體出貨將有不俗表現(xiàn)。然而,TrendForce集邦咨詢資深研究副總吳雅婷認(rèn)為,該系列產(chǎn)品受...
關(guān)鍵字:
存儲器
供應(yīng)鏈
邊緣AI
在人工智能訓(xùn)練、實時圖形渲染與科學(xué)計算領(lǐng)域,存儲器帶寬已成為制約系統(tǒng)性能的核心瓶頸。HBM3與GDDR7作為當(dāng)前顯存技術(shù)的兩大巔峰之作,分別通過三維堆疊與信號調(diào)制技術(shù)的突破,為不同應(yīng)用場景提供了差異化解決方案。本文從架構(gòu)...
關(guān)鍵字:
存儲器
HBM3
傳統(tǒng)存儲器技術(shù)逼近物理極限,鐵電場效應(yīng)晶體管(FeFET)憑借其獨特的極化翻轉(zhuǎn)機制與非易失性邏輯特性,成為突破馮·諾依曼架構(gòu)瓶頸的關(guān)鍵技術(shù)。FeFET通過將鐵電材料集成至晶體管柵極,實現(xiàn)了存儲與邏輯功能的深度融合,其物理...
關(guān)鍵字:
FeFET
存儲器
數(shù)字化轉(zhuǎn)型與人工智能技術(shù)驅(qū)動,數(shù)據(jù)中心存儲架構(gòu)正經(jīng)歷從傳統(tǒng)磁盤陣列向全閃存與新型內(nèi)存技術(shù)的深度變革。全閃存陣列(AFA)憑借亞毫秒級延遲與高IOPS性能重塑存儲性能基準(zhǔn),而持久化內(nèi)存(PMEM)則通過填補DRAM與SSD...
關(guān)鍵字:
數(shù)據(jù)中心
存儲器
AI算力與數(shù)據(jù)中心規(guī)模持續(xù)擴張,存儲器糾錯碼(ECC)技術(shù)已成為保障數(shù)據(jù)完整性的核心防線。從硬件加速架構(gòu)到算法優(yōu)化,ECC技術(shù)正通過多維度創(chuàng)新,將內(nèi)存錯誤率降低至每萬億小時1次以下,為關(guān)鍵任務(wù)系統(tǒng)提供接近零故障的可靠性保...
關(guān)鍵字:
存儲器
ECC
存儲器供應(yīng)鏈安全已成為國家戰(zhàn)略的核心命題,從晶圓代工到封裝測試,中國存儲器產(chǎn)業(yè)正通過關(guān)鍵環(huán)節(jié)的技術(shù)突破與生態(tài)重構(gòu),走出一條從“受制于人”到“自主可控”的替代之路。這條路徑不僅關(guān)乎產(chǎn)業(yè)安全,更承載著數(shù)字經(jīng)濟時代的技術(shù)主權(quán)。
關(guān)鍵字:
存儲器
國產(chǎn)化替
AI算力需求爆炸式增長,存儲器封裝技術(shù)正經(jīng)歷從2.5D到3D異構(gòu)集成的范式變革。這種變革不僅重構(gòu)了芯片間的物理連接方式,更對散熱設(shè)計與信號完整性提出了全新挑戰(zhàn)。本文從封裝架構(gòu)演進(jìn)、散熱機制創(chuàng)新與信號完整性保障三個維度,解...
關(guān)鍵字:
存儲器
散熱
數(shù)據(jù)成為核心生產(chǎn)要素的時代,存儲器安全技術(shù)已成為保障數(shù)字資產(chǎn)隱私與完整性的關(guān)鍵防線。從早期基于硬件的加密引擎到現(xiàn)代可信執(zhí)行環(huán)境(TEE)的生態(tài)構(gòu)建,存儲器安全技術(shù)經(jīng)歷了從單一防護(hù)到體系化協(xié)同的演進(jìn)。本文從硬件加密引擎、存...
關(guān)鍵字:
存儲器
TEE
May 13, 2025 ---- 根據(jù)TrendForce集邦咨詢最新半導(dǎo)體封測研究報告,2024年全球封測(OSAT)市場面臨技術(shù)升級和產(chǎn)業(yè)重組的雙重挑戰(zhàn)。從營收分析,日月光控股、Amkor(安靠)維持領(lǐng)先地位,值得...
關(guān)鍵字:
自制化
AI
汽車電子
存儲器
像任何行業(yè)幫助開發(fā)可編程邏輯應(yīng)用程序一樣,我們使用標(biāo)準(zhǔn)接口來實現(xiàn)重用和簡化設(shè)計。在FPGA開發(fā)中最流行的接口是Arm可擴展接口(AXI),它為開發(fā)人員提供了一個完整的高性能,如果需要的話,還可以緩存相干存儲器映射總線。
關(guān)鍵字:
FPGA
ARM
存儲器
在這篇文章中,小編將對嵌入式系統(tǒng)的相關(guān)內(nèi)容和情況加以介紹以幫助大家增進(jìn)對它的了解程度,和小編一起來閱讀以下內(nèi)容吧。
關(guān)鍵字:
嵌入式
嵌入式系統(tǒng)
存儲器
PSRAM,作為一種融合了動態(tài)隨機存取存儲器(DRAM)高密度特性與靜態(tài)隨機存取存儲器(SRAM)易用性的存儲技術(shù),其重要性不言而喻。從結(jié)構(gòu)上看,PSRAM 內(nèi)部主要由 DRAM 存儲單元負(fù)責(zé)數(shù)據(jù)存儲,SRAM 接口電路...
關(guān)鍵字:
存儲器
接口電路
控制電路
April 17, 2025 ---- 根據(jù)TrendForce集邦咨詢最新調(diào)查,近期國際形勢變化已實質(zhì)改變存儲器供需方操作策略。TrendForce資深研究副總吳雅婷表示,由于買賣雙方急于完成交易、推動生產(chǎn)出貨,以應(yīng)對...
關(guān)鍵字:
存儲器
DRAM
NAND Flash
2025年4月17日,中國 —— 服務(wù)多重電子應(yīng)用領(lǐng)域、全球排名前列的半導(dǎo)體公司意法半導(dǎo)體 (STMicroelectronics,簡稱ST;紐約證券交易所代碼:STM) 推出內(nèi)置xMemory的Stellar車規(guī)級微控...
關(guān)鍵字:
存儲器
微控制器
人工智能
2025年3月27日,Semicon China 2025期間,全球領(lǐng)先的真空設(shè)備制造商愛發(fā)科集團(tuán)正式推出三款面向先進(jìn)半導(dǎo)體制造的核心設(shè)備:?多腔室薄膜沉積系統(tǒng)ENTRON-EXX?、?針對12英寸晶圓的?集群式先進(jìn)電子...
關(guān)鍵字:
半導(dǎo)體
晶圓
存儲器
新加坡—2025年3月26日—Kulicke and Soffa Industries,股份有限公司(NASDAQ:KLIC)(“Kulicke & Soffa”、“K&S”、“我們”或“公司”)宣布推出適用于大容量存儲...
關(guān)鍵字:
存儲器
功率半導(dǎo)體
處理器
March 18, 2025 ---- 根據(jù)TrendForce集邦咨詢最新AI Server供應(yīng)鏈調(diào)查,預(yù)期NVIDIA(英偉達(dá))將提早于2025年第二季推出GB300芯片,就整柜式Server系統(tǒng)來看,其計算性能、存...
關(guān)鍵字:
電源管理
芯片
存儲器
在數(shù)字化信息飛速增長的時代,存儲器作為數(shù)據(jù)存儲與讀取的關(guān)鍵載體,其性能與特性對各類電子設(shè)備及系統(tǒng)的運行效率起著決定性作用。從廣泛應(yīng)用的傳統(tǒng)存儲器,到嶄露頭角的新興非易失性存儲器技術(shù),每一種都在存儲領(lǐng)域中占據(jù)著獨特的地位,...
關(guān)鍵字:
數(shù)字化
存儲器
SRAM
在數(shù)字信號處理(DSP)領(lǐng)域,數(shù)字信號處理器(DSP)的性能表現(xiàn)直接關(guān)系到各類應(yīng)用的效果。而片內(nèi)隨機存取存儲器(RAM)的大小,是影響 DSP 效率的一個至關(guān)重要的因素。擁有較大片內(nèi) RAM 的 DSP 在數(shù)據(jù)處理能力、...
關(guān)鍵字:
數(shù)字信號處理
存儲器
DSP
單片機是一種集成度很高的微型計算機,其核心由微處理器、存儲器和輸入輸出接口組成。單片機的應(yīng)用領(lǐng)域廣。
關(guān)鍵字:
單片機
存儲器