I'm somewhat confused by the following paragraph in the 18F452 datasheet, which appears to be self-contradictory.... "The data EEPROM is a high endurance, byte addressable array that has been optimized for the storage of frequently changing information (e.g., program variables or other data that are updated often). Frequently changing values will typically be updated more often than specification D124. If this is not* the case, an array refresh must be performed. For this reason, variables that change infrequently (such as constants, IDs, calibration, etc.) should be stored in FLASH program memory. Note: If data EEPROM is only used to store constants and/or data that changes rarely, an array refresh is likely not required." This second note apparently contradicts the first paragraph. * - if you remove this "not" it is at least consistent, but is it correct..? I can see 2 possible interpretations : a) if you write data infrequently, you need to do an occasional eeprom refresh - but how often ? b) If you write data frequently, you need to to a refresh at least once per D124 (1,000,000) writes - does this mean that the endurance is infinite as long as you do this? Common sense tells me that (b) is correct and the "not" in the first paragraph shouldn't be there. Has anyone had a definitive answer from Microchip on this ? -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist