新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > C8051F020的XRAM和非易失性儲(chǔ)存

C8051F020的XRAM和非易失性儲(chǔ)存

作者: 時(shí)間:2016-11-24 來源:網(wǎng)絡(luò) 收藏
C8051F020有4Kbyte的XRAM和128byte的非易失性存儲(chǔ)(相當(dāng)于EEPROM)。首先在Keil中按下圖勾上兩個(gè)選項(xiàng)

本文引用地址:http://m.butianyuan.cn/article/201611/320867.htm


那么要使用XRAM,只需將變量類型定義為XDATA即可,最好在定義上不要初始化,否則可能會(huì)有問題。如果需要使用非易失性儲(chǔ)存,就需要編寫驅(qū)動(dòng),也很容易,首先在操作前先關(guān)閉中斷;操作完成恢復(fù)中斷狀態(tài)即可,與之相關(guān)的寄存器是FLSCL和PSCTL,需要注意的是寫FLASH只能將1變?yōu)?,所以寫字節(jié)操作前需擦除整個(gè)扇區(qū),寫字節(jié)的變量類型為XDATA,用MOVX,而讀的話就是指向CODE,用MOVC,比如寫指針可以定義為uchar xdata *pwrite;讀的話可以定義為uchar code *pread;當(dāng)然給指針賦值時(shí)應(yīng)當(dāng)將轉(zhuǎn)化為指針變量,如pwrite=(uchar xdata *)=addr;pread=(uchar code *)=addr;然后給指針指向的空間賦值就可以了。



評(píng)論


技術(shù)專區(qū)

關(guān)閉