午夜亚洲精品一区二区三区-日韩中文字幕亚洲中出内射-日本高清成人一区二区-日本午夜精品一区二区三区

案例&資訊
案例&資訊
主頁 ? 案例&資訊 ? 資訊動態(tài) ? 查看詳情

如何對外擴SRAM進行讀寫

來源:宇芯有限公司 日期:2020-02-20 10:58:13

如何對SRAM進行讀寫
 
使用指針的方法進行讀寫
 
不需要寫讀寫函數,可以直接使用指針的方式對STM32的內存地址進行訪問。
 
(1)首先要定義SRAM的基地址:
 
#defeine SRAM_BASE_ADDR       (0x68000000)  //基地址從0x68000000開始
 
#define SRAM_SIZE                      (1*1024*1024) //一共有1M字節(jié)
 
#define SRAM_END_ADDR          (SRAM_BASE_ADDR + SRAM_SIZE)   //SRAM結束的地址
 
//用#define定義宏的時候用括號是個習慣,防止以后如果有運算的時候會影響宏的運算法則。
 
 (2)定義指針,操作單字節(jié)數據
 
u8 *p;
 
p = (u8 *)SRAM_BASE_ADDR; //把數據SRAM_BASE_ADDR強制轉換成指針
 
*p = 0xAB;    //向0x68000000地址寫入0xAB
 
 
 
如何操作雙字節(jié)數據
 
先定義一個16位的指針
 
u16 *p16;
 
p = (u16 *)SRAM_BASE_ADDR; //把數據SRAM_BASE_ADDR強制轉換成16位指針
 
*p16 = 0xCDEF;   //一次可以操作2個字節(jié)
 
 
 
如何操作浮點數
 
定義一個指向浮點數的指針
 
float *pf;
 
p = (float *)SRAM_BASE_ADDR; //把數據SRAM_BASE_ADDR強制轉換成指向浮點數的指針
 
*pf = 56.35;
 
使用絕對地址的方式訪問SRAM
 
u8 testValue __attribute__ ( (at (SRAM_BASE_ADDR ) ) );
 
把變量testValue的地址定義到0x68000000
 
testValue = 50;
 
注意:使用 __attribute__定義變量時必須定義為全局變量
 
否則如果使用局部變量,變量還是會被定義在內部RAM中。


關鍵詞:SRAM

相關文章:可穿戴電子設備中的SRAM

宇芯有限公司自成立以來,我們專注于代理國內外各大知名品牌的半導體元器件,代理品牌有NETSOL、JSC、everspin、來楊Lyontek、ISSI、CYPRESS等多個品牌總代理資質,主要產品線為sram、mram、psram等其他存儲器芯片,致力于為客戶提供具有競爭優(yōu)勢的產品,是一家專業(yè)提供存儲方案解決商。
 

虎林市| 叙永县| 清远市| 四川省| 平顶山市| 武城县| 奇台县| 清远市| 邵东县| 平安县| 乌拉特中旗| 金昌市| 牟定县| 罗城| 乐业县| 洛扎县| 莫力| 克山县| 宜兰市| 新安县| 镇江市| 华池县| 山西省| 奎屯市| 资溪县| 都昌县| 河池市| 通渭县| 宽甸| 铁力市| 安塞县| 获嘉县| 磐石市| 阜城县| 英吉沙县| 永宁县| 凤凰县| 徐汇区| 聂拉木县| 邯郸县| 丹巴县|