¿Es necesario borrar la EEPROM dentro del microcontrolador antes de escribir? ¿Qué debo hacer si no se borra un solo byte, sino que también se borra todo lo demás?
Mire el PDF del microcontrolador. El STC debe borrarse antes de escribir, porque solo se puede programar y escribir cuando está vacío (porque solo el borrado del sector puede cambiar de 0 a 1. Si este sector es 0 , no se sobrescribirá pero resultará confuso). Se pueden escribir muchos datos en un sector, pero antes de escribir cada dato, todos los demás datos deben leerse y guardarse en la RAM (defina varias variables, por ejemplo, a=eeprom_read(0x4000); b=eeprom_read( 0x4001)) Después de leerlo, ejecute eeprom_eares(0x4000); es decir, borre este sector. Una vez completada la operación de borrado, escriba este sector junto con los nuevos datos, de la siguiente manera:\x0d\eeprom_write(0x4000, a); // Escribe los datos leídos\x0d\eeprom_write(0x4001, b);\x0d\eeprom_write(0x4002, c);\x0d\ De esta manera, c se escribe en este sector junto con a y b. Lo mismo ocurre. al escribir a Para leer b y c, al escribir b, debe leer a y c. \x0d\Muchos microcontroladores tienen 64 sectores. Si es suficiente, intente escribir un dato por sector, para que sea más conveniente escribir programas.\x0d\No conozco otros tipos de microcontroladores sin pruebas, y el La situación de la eeprom externa es diferente