desktop

Problema lectura 24C32A

Amigos como les va? A ver si alguien me puede indicar donde cometo el error. Estoy grabando una memoria y la rutina funciona bien. Ahora cuando la quiero leer no puedo me devuelve el valor FF, siendo que la memoria esta grabada. Les dejo el codigo saludos y gracias. Estoy utilizando un 16F874 y la patittas RC3 y RC4 estan configuradas como entradas.

CALL START
MOVLW b'10100001'
CALL ENVIAR
MOVLW 0x05
CALL ENVIAR
MOVLW 0x05
CALL ENVIAR
CALL LEER
MOVWF SALIDA
CALL STOP

;********* Subrutinas para modo I2C *************

START BCF PIR1,SSPIF
BSF STATUS,RP0
BSF SSPCON2,SEN
BCF STATUS,RP0
START_W BTFSS PIR1,SSPIF
GOTO START_W
RETURN

STOP BCF PIR1,SSPIF
BSF STATUS,RP0
BSF SSPCON2,PEN
BCF STATUS,RP0
STOP_W BTFSS PIR1,SSPIF
GOTO STOP_W
RETURN

ENVIAR BCF PIR1,SSPIF
MOVWF SSPBUF
SEND_B BTFSS PIR1,SSPIF
GOTO SEND_B
RETURN

LEER BCF PIR1,SSPIF
BSF STATUS,RP0
BSF SSPCON2,RCEN
BCF STATUS,RP0
READ_W BTFSS PIR1,SSPIF
GOTO READ_W
BCF PIR1,SSPIF
BSF STATUS,RP0
BCF SSPCON2,ACKDT
BSF SSPCON2,ACKEN
BCF STATUS,RP0
ACK_W BTFSS PIR1,SSPIF
GOTO ACK_W
MOVF SSPBUF,W
RETURN
 
chequea las hojas de datos, fijate que creo que la memoria tiene una direccion logica dada por un codigo interno mas el seteo de unas patas, y cheque donde cargas estos datos en el soft del micro !!
 
Atrás
Arriba