EEPROM测试:
一个扇区512字节
EEPROM_SectorErase擦除的是“参数/512”对应的扇区
擦除扇区0 (0~511):
EEPROM_SectorErase(0); 和 EEPROM_SectorErase(511);效果 相同
擦除扇区1(512~1023):
EEPROM_SectorErase(512);
-
- u8 EEPROM_Test(){
- u8 buf10[10]={1,2,3,4,5,6,7,8,9,10};
- u8 buf0[5]={0XFF,0XFF,0XFF,0XFF,0XFF};
- u8 buf[5]={0XA5,0XA5,0XA5,0XA5,0XA5};
- u8 buf1[10];
- u8 i;
- EEPROM_SectorErase(0);
-
- EEPROM_SectorErase(512);
- EEPROM_write_n(0,buf10,10);
- EEPROM_write_n(512,buf10,10);
- EEPROM_read_n(0,buf1,10);
- printf("addr0:");
- for(i=0;i<10;i++){
- printf("%02x ",buf1[i]);
- }
- printf("\n");
- EEPROM_read_n(512,buf1,10);
- printf("addr512:");
- for(i=0;i<10;i++){
- printf("%02x ",buf1[i]);
- }printf("\n");
- EEPROM_SectorErase(0);
- EEPROM_write_n(0,buf,5);
- EEPROM_read_n(0,buf1,5);
- for(i=0;i<5;i++){
- //printf("%2x",buf1[i]);
- if(buf1[i]!=0XA5)break;
- }
- if(i!=5)return FAIL;
- EEPROM_SectorErase(511);
- EEPROM_read_n(0,buf1,10);
- printf("addr0:");
- for(i=0;i<10;i++){
- printf("%02x ",buf1[i]);
- }
- printf("\n");
-
- EEPROM_write_n(512,buf0,5);
- EEPROM_read_n(512,buf1,10);
- printf("512:");
- for(i=0;i<10;i++){
- printf("%02x ",buf1[i]);
- }
- printf("\n");
-
- EEPROM_SectorErase(512);
- EEPROM_write_n(512,buf,5);
- EEPROM_read_n(512,buf1,10);
- for(i=0;i<10;i++){
- printf("%02x ",buf1[i]);
- }
- printf("\n");
- for(i=0;i<5;i++){
- //printf("%2x",buf1[i]);
- if(buf1[i]!=0XA5)break;
- }
- if(i!=5)return FAIL;
- return SUCCESS;
- }
复制代码
|