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

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]FLASh 必須是先擦 后 寫下面的函數(shù)是分析案例void FLASH_WriteByte(u32 addr ,u16 flashdata1){FLASH_Status FLASHstatus = FLASH_COMPLETE;FLASH_Unlock();//解鎖FLASH編程擦除控制器// FLASH_ClearFlag(FLASH_FLAG

FLASh 必須是先擦 后 寫
下面的函數(shù)是分析案例
void FLASH_WriteByte(u32 addr ,u16 flashdata1)
{
FLASH_Status FLASHstatus = FLASH_COMPLETE;
FLASH_Unlock();//解鎖FLASH編程擦除控制器


// FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_PGERR | FLASH_FLAG_WRPRTERR);//清除標(biāo)志位
FLASH_ClearFlag(FLASH_FLAG_BSY|FLASH_FLAG_EOP|FLASH_FLAG_PGERR|FLASH_FLAG_WRPRTERR);

/


FLASHstatus=FLASH_ErasePage(addr);//擦除指定地址頁
FLASHstatus=FLASH_ProgramHalfWord(addr, flashdata1);//從指定頁的addr地址開始寫


//FLASH_ClearFlag(FLASH_FLAG_BSY|FLASH_FLAG_EOP|FLASH_FLAG_PGERR|FLASH_FLAG_WRPRTERR);
FLASH_Lock();//鎖定FLASH編程擦除控制
}
基本順序:解鎖->清除標(biāo)志位(可以不要)->擦除->寫半字->清楚標(biāo)志位(也可以不要)->上鎖。


如果 FLASH_START_ADDR是宏定義的0x8000000+2048*255
1. 0x8000000是Flash的起始地址
2. 2048是因?yàn)槲矣玫氖谴笕萘啃酒?,根?jù)上一筆記Flash地址可以看出芯片每頁容量2K,即2048字節(jié),
3. 255表示芯片的最后一頁,這個(gè)根據(jù)不同芯片而定。之所以從后面頁寫起可以防止儲(chǔ)存數(shù)據(jù)破壞用戶程序。
4. addr*2是因?yàn)槊總€(gè)數(shù)據(jù)占用2字節(jié)(半字),雖然寫入的是1字節(jié)數(shù)據(jù),但是編程是2字節(jié)為單位,
也就是說一個(gè)字節(jié)的數(shù)據(jù)也會(huì)占用兩個(gè)字節(jié)地址。

這個(gè)子函數(shù)就是將數(shù)據(jù)flashdata1寫到地址addr中去。數(shù)據(jù)的長度是可變的。
當(dāng)需要讀入數(shù)據(jù)的時(shí)候可以直接訪問地址,

如:rdata=*(u16 *)0x08014000; //讀flash中默認(rèn)數(shù)據(jù)

0x08014000是存儲(chǔ)的地址。

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