unsigned char WriteEEPROM(unsigned char *pData) { unsigned char keys = 0; unsigned char bytes = 0; unsigned char counter = 0; unsigned char returnvalue = 0; for(keys = 0; keys < 32; keys++) { for(bytes = 0; bytes < 8; bytes++) { if(eeprom_read((keys * 8) + bytes) == 0xFF) counter++; } if(counter == 8) break; else counter = 0; } for(bytes = 0; bytes < 8; bytes++) { eeprom_write(((keys * 8) + bytes), pData[bytes]); } if(counter == 8) returnvalue = 1; else returnvalue = 0; return returnvalue; } unsigned char CheckEEPROM(unsigned char *pData) { unsigned char keys = 0; unsigned char bytes = 0; unsigned char counter = 0; unsigned char returnvalue = 0; for(keys = 0; keys < 32; keys++) { for(bytes = 0; bytes < 8; bytes++) { if(eeprom_read((keys << 3) + bytes) == pData[bytes]) counter++; } if(counter == 8) break; else counter = 0; } if(counter == CORRECT) returnvalue = 1; else returnvalue = 0; return returnvalue; }