EEPROM yazımı

Başlatan hgungor, 16 Mart 2016, 21:19:35

hgungor

macig_gun okuma ve yazma yı dediğin gibi düzenledim, bir bak eksik yer varmıdır.Aşağıda yazdıklarım sonucu değiştirmedi önceki sorun hala mevcut, b2 deki led yanmıyor


OKUMA;-----------------okuma----------------
BANKSEL EEADR           
MOVLW h'0A'         
MOVWF  EEADR                   
BANKSEL EECON1
BSF EECON1,RD             
BANKSEL EEDATA
MOVF EEDATA,W
MOVWF CH
RETURN

YAZ
BANKSEL EECON1
BCF INTCON,GIE
BSF EECON1,WREN
MOVLW h'55'
MOVWF EECON2
MOVLW h'AA'
MOVWF EECON2
BANKSEL EEADR
MOVLW H'0A'
MOVWF EEADR
BANKSEL EEDATA
MOVF CH,W
MOVWF EEDATA
BSF EECON1,WR
JK
BTFSC EECON1,WR
GOTO JK
BTFSC EECON1,WRERR
GOTO YAZ
BCF EECON1,WREN
BSF INTCON,GIE
BANKSEL PORTB
BSF PORTB,2
RETURN

hgungor

Sonunda olayı çözdüm :)
Datasheet de şu uyarıyı görünce,farkettimki eeprom kısmında gösterilmeyen bir bayrağıda kontrol etmemiz lazımmış.

// At the completion of the write cycle, the WR bit is
cleared in hardware and the EE Write Complete
Interrupt Flag bit (EEIF) is set. The user can either
enable this interrupt or poll this bit. The EEIF bit in the
PIR1 registers must be cleared by software. 

YAZ
MOVF CH,W
BSF STATUS, RP0 ; Bank 1
MOVWF EEDATA
MOVLW h'0A'
MOVWF EEADR

BSF STATUS, RP0
BSF EECON1, WREN
MOVLW H'55'
MOVWF EECON2
MOVLW H'AA'
MOVWF EECON2
BSF EECON1,WR
BCF STATUS, RP0 ; Bank 0

BEKLE
BTFSS PIR1,EEIF
GOTO BEKLE
BCF PIR1,EEIF ;birsonraki yazma için sıfırla
RETURN

İlgilenen ete beye ve magic gun a çok teşekkür ediyorum

Powered by EzPortal