hola... estoy intentando hacer un programa en donde pueda escribir y leer "abcd" en una memoria eeprom externa. estoy usando el PIC18F4620 y la memoria eeprom que estoy usando es la 24AA256.
en realidad... no se cual es la falla que tiene el programita que yo estoy haciendo... ya que para saber que fue lo que uno escribio en la memoria... hay que leerlo.
debido a esto... no se si el problema es que esta escribiendo basura, leyendo basura, o ninguna de las dos cosas funciona...
ya que cuando leo la memoria imprime "yp" y no "abcd".
aqui les dejo mi codigo:
#include <p18F4620.h>
#include <usart.h>
#include <delays.h>
#include <stdlib.h>
#include <i2c.h>
unsigned char arraywr[] = "abcd";
unsigned char arrayrd[20];
void main (void)
{
TRISC=0b00011000;
TRISB=0b11111111;
OpenI2C(MASTER, SLEW_ON);// Initialize I2C module
SSPADD = 4; //400kHz Baud clock(9) @8MHz
while(1)
{
TRISB = 0;
PORTB = 1;
Delay100TCYx (255);
PORTB = 0;
Delay100TCYx (255);
EEPageWrite(0xA0, 0x70, arraywr);
funcionUSART(arraywr); // esta es un funcion que imprime por el puerto serial lo //que se quiere escribir en memoria, aqui imprime "abcd"...
Delay100TCYx(255);
EEAckPolling(0xA0);
EESequentialRead(0xA0, 0x70, arrayrd, 4);
funcionUSART(arrayrd); // aqui se quiere imprimir lo que leyo de la memoria
/// aqui es donde imprime "yp" y no "abcd"
}
}
Cualquier ayuda que me puedan dar, se los agradeceria
Saludos,