日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導讀] STM8L帶有片上EEPROM,常用來保存參數,事實上STM8L整個程序存儲區(qū)都可以用于作為EEPROM,只是默認情況下被閉了。 不同型號的STM8L器件其內部默認劃分的EEPROM區(qū)域都是從0x1000地址開始,以下為STM8LXX的EEPROM讀寫

STM8L帶有片上EEPROM,常用來保存參數,事實上STM8L整個程序存儲區(qū)都可以用于作為EEPROM,只是默認情況下被閉了。

不同型號的STM8L器件其內部默認劃分的EEPROM區(qū)域都是從0x1000地址開始,以下為STM8LXX的EEPROM讀寫例:


#defineEEPROM_STARTADDR0x1000

//EEPROM讀數據方法


uint8EEPROM_Read(uint16Addr,uint8*RxBuffer,uint8Length)

{

uint16T=0;

uint8*EEP;

EEP=(uint8*)(EEPROM_STARTADDR+Addr);

FLASH_DUKR=0xAE;

FLASH_DUKR=0x56;

FLASH_CR2=0x00;

while((!(FLASH_IAPSR&S3))&(T<0xFFFF))T++;

if(T==0xFFFF)return0;

while(Length--){

*RxBuffer++=*EEP++;

}

return1;

}

//EEPROM讀數據方法


uint8EEPROM_Write(uint16Addr,uint8*RxBuffer,uint8Lenth)

{

uint16T=0;

uint8*EEP;

EEP=(uint8*)(EEPROM_STARTADDR+Addr);

FLASH_DUKR=0xAE;

FLASH_DUKR=0x56;

FLASH_CR2=0x00;

while((!(FLASH_IAPSR&S3))&(T<0xFFFF))T++;

if(T==0xFFFF)return0;

while(Lenth--){

*EEP++=*RxBuffer++;

T=0;

while((!(FLASH_IAPSR&S2))&(T<0xFFFF))T++;

if(T==0xFFFF)return0;

}

FLASH_IAPSR&=~S3;

return1;

}

STM8LXX核對數據,程序存儲器進行統(tǒng)一編址,所以可以直接對EEPROM進行讀寫,之間需要進行解鎖操作,通過FLASH_DUKR完成,寫入特定序列的密碼即可,由于EEPROM的寫入速度較慢,所以需要進行等待,判斷其上一步工作是否已完成。實測發(fā)現(xiàn),當CPU主頻變化時,其等待時間差別較大,使用時應注意,并且需要加入等待超時處理。


本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關閉