| 
 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;
}
 
 
 
 
 |