Red de conocimiento informático - Aprendizaje de programación - Cómo leer y escribir EEPROM en el microcontrolador PIC18, estoy usando el microcontrolador 18F4520 y estoy buscando un ejemplo de programa para leer y escribir EEPROM

Cómo leer y escribir EEPROM en el microcontrolador PIC18, estoy usando el microcontrolador 18F4520 y estoy buscando un ejemplo de programa para leer y escribir EEPROM

/*

****************************************** ** ************************************************* *** ********

Nombre de la función: EE_ readbyte

Función: Leer 1 byte de la EEPROM en el chip

Descripción: Read_AddrH : Para escribir Ingrese la dirección alta Read_Addr: Devuelve el valor almacenado en la dirección después de la ejecución de la función

********************** * *** ************************************************* **** ***********************

*/

uchar EE_ReadByte(uchar Read_AddrH, uchar Read_AddrH, uchar Read_AddrH, uchar Read_AddrH, uchar Read_AddrH) uchar Read_Addr)

{

EEADRH = Read_AddrH

EEADRH = Read_AddrH //Escribe dirección alta

EEADR = Read_Addr; //Escribe en la dirección baja

EECON1bits.EEPGD = 0; //Accede a la memoria EEPROM

EECON1bits.CFGS = 0; EEPROM o Área de programa

EECON1bits.RD = 1;

Devolver EEDATA;

}

/*

** **************************** ******************* ***** ********************************************** ****

Nombre de la función: EE_writebyte

Función: escribir 1 byte en la EEPROM del chip

Descripción: Write_AddrH: dirección alta a escribir; : dirección baja a escribir; Write_Byte: Byte a escribir

****************************** ************ ********************************** **** ************** *******************

*/

void EE_WriteByte (uchar Write_AddrH,uchar Write_Addr,uchar Write_Byte)

{

ClrWdt(); //alimenta al perro

while(EECON1bits.WR);

EEADRH = Write_AddrH;//Escribir dirección alta

EEADR = Write_Addr;//Escribir dirección baja

EEDATA = Write_Byte.

EECON1bits.EEPGD = 0; //Accede a la memoria EEPROM

EECON1bits.CFGS = 0; //Accede a la EEPROM o al área de programa

EECON1bits.WREN = 1 ; // Completamente borrable

INTCONbits.GIE = ​​​​1; // Activa las interrupciones

EECON1bits.WREN = 0 // Deshabilita el borrado

(EECON1bits.WR) // Espera a que se complete la escritura

{

;

}

}

/*

****************************************** *** ************************************************* **** ********

Nombre de función: EE_WriteArray

Función: Escribir datos de matriz en EEPROM

Descripción: AddrH: inicio de EEPROM dirección Byte alto, Dirección: dirección inicial de EEPROM byte bajo

WriteByte[]: datos de la matriz que se almacenarán

LenArray: longitud de la matriz que se almacenará

Ejemplo: Dirección de almacenamiento 0x0020---0x0029 Matriz de datos de almacenamiento[10]

****************************** * ************************************************* ** ******** *************

*/

void EE_WriteArray(uchar AddrH,uchar Addr,uchar WriteArray [] ,uchar LenArray)

{

uchar tempH, tempL,tempByte

uint i=0;

tempH = AddrH; ;

tempL = Dirección;

for(i=0;i

{

tempByte = WriteArray[ i] ;

EE_WriteByte(tempH,tempL,tempByte);

tempL++;

}

}

/ *

**************************************** *** ************************************************* **** *******

Nombre de la función:EE_ReadArray

Función: escribir datos de matriz en EEPROM

Descripción: 10]

************************************************ ******** ******************************************* *********

*/