EEPROM_WRITE這個(gè)函數(shù)生效是不是有啥前提?
const?uint32_t?addr_data[200]?__attribute__((at(0x00070000)))?=
{
????0,
};
uint8_t?data_s[200]?=?{0x04,};
EEPROM_ERASE(0x00070000,?(uint32_t)200);
EEPROM_WRITE(0x00070000,(uint32_t?*)data_s,?(uint32_t)200);
PRINT("ad?get?da?end\n");
PRINT("addr_data:\n");
for(uint8_t?p?=?0;p?<?200;?p++){
??????????PRINT("%x??",addr_data[p]);
}
PRINT("addr_end\n");

為啥我已經(jīng)擦除了起始地址

0x00070000

到之后長(zhǎng)度200的范圍數(shù)據(jù),并且調(diào)用

EEPROM_WRITE

來寫數(shù)據(jù)進(jìn)flash,但數(shù)據(jù)沒有成功燒錄進(jìn)去,打印出來全是0;這是為啥?我的芯片型號(hào)是CH585M

EEPROM的FLASH地址已經(jīng)做了偏移,不需要再手動(dòng)偏移,參考FLASH例程。

image.png


有沒有flash的ID之類的可以用來驗(yàn)證是否能正常讀取FLASH數(shù)據(jù),我可以以此來看是否能正確擦除或者燒錄數(shù)據(jù)進(jìn)FLASH。有如果有例子,最好不過了?


可以查看FLASH函數(shù)的返回值,判斷是否操作FLASH成功。


1733473723138032.png

:以上是小實(shí)驗(yàn)代碼部分

下面是打印部分:

1733473826381556.png

EEPROM_WRITE

返回的是0,這個(gè)應(yīng)該是數(shù)據(jù)存進(jìn)去了,但卻我用for循環(huán)打印addr_data[200]里的所有數(shù)據(jù),發(fā)現(xiàn),第一個(gè)數(shù)據(jù)并沒有替換成數(shù)組data_s的0x04?這很奇怪,求解惑


只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频