請(qǐng)教ch573f的EEPROM在操作的時(shí)候擦除與不擦除都能夠?qū)懭耄?
????????????uint8_t?addr;
????????????uint8_t?s,t;
????????????uint16_t?b;
????????????addr?=?dtuParameter.bus_addr;
????????????memset(encoding.pdata,0,8);


????????????EEPROM_READ(BLE_DTU_PARAMETER_NVID,&dtuParameter,sizeof(dtuParameter));
????????????Data_flash[0]?=?dtuParameter.humi;
????????????Data_flash[1]?=?dtuParameter.temp;
????????????Data[0]?=?dtuParameter.baud;
????????????memcpy(Data?+?1,dtuParameter.DEVICE_ID,10);
????????????Data[11]?=?dtuParameter.flag;
????????????//t?=?EEPROM_ERASE(BLE_DTU_PARAMETER_NVID,256);
????????????EEPROM_READ(BLE_DTU_PARAMETER_NVID,Test_Buf,256);
????????????for(b?=?0;b?<?10;b++)
????????????{
????????????PRINT("Test?=?%x?\n",Test_Buf[b]);
????????????}
//????????????if(t?==?SUCCESS)
????????????{
??????????????dtuParameter.bus_addr?=?decoding.pdata[0];
//??????????????dtuParameter.humi?=?Data_flash[0];
//??????????????dtuParameter.temp?=?Data_flash[1];
//??????????????dtuParameter.baud?=?Data[0];
//??????????????memcpy(dtuParameter.DEVICE_ID,Data?+?1,10);
//??????????????dtuParameter.flag?=?Data[11];
??????????????PRINT("bus_addr?=?%x\n?humi?=?%d\n?temp?=?%d\n?baud?=?%x\n?DEVICE_ID?=?%x\n?flag?=?%x?\n",dtuParameter.bus_addr,dtuParameter.humi,dtuParameter.temp,dtuParameter.baud,dtuParameter.DEVICE_ID,dtuParameter.flag);
????????????s?=?EEPROM_WRITE(BLE_DTU_PARAMETER_NVID,&dtuParameter,sizeof(dtuParameter));
????????????if(s?!=?SUCCESS)
????????????{
??????????????encoding.pdata[0]?=?1;
??????????????dtuParameter.bus_addr?=?addr;
????????????}
????????????else?{
??????????????encoding.pdata[0]?=?0;
????????????}
????????????encoding.num?=?1;
????????????encoding.len?=?8;
????????????send_flag?=?0;
????????????dri_tick_mode?=?MODE_TICK_ENCODE;
????????????}


icon_jpg.gif1648540652(1).jpg

icon_jpg.gif1648540693(1).jpg

第一個(gè)是擦除,第二個(gè)是沒擦除,都是能夠成功寫入的


EEPROM_WRITE好像是不會(huì)失敗的,你要測(cè)他是不是不擦除也可以寫,可以按照如下步驟:

  1. 先全擦一個(gè)EEPROM扇區(qū),讀取所有數(shù)據(jù)查看是否全為0xff

  2. 將扇區(qū)全部寫0,讀取所有數(shù)據(jù)查看是否為0x00

  3. 這次寫入你自己準(zhǔn)備的特殊數(shù)據(jù),然后再將扇區(qū)數(shù)據(jù)全部讀取出來查看


  1. 那個(gè)testbuf就是全擦后的數(shù)據(jù)都是0xff,之后寫入,是可以的。

  2. 寫0,并且讀出也是可以的。

    icon_jpg.gif1e6b3ea8aa69d9c1e9820d3423a8e8b.jp寫零,讀取

  3. 寫入我自己的數(shù)據(jù),再讀出,也都是正確的。


不擦就寫的話是不保證正確率的,是會(huì)出錯(cuò)的,建議使用標(biāo)準(zhǔn)操作,擦了再寫,才能保證寫入數(shù)據(jù)無誤。


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

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