E
EdwinTan
Guest
ahoj, chlap.
i čelia problému s M25PE80 (serial flash pamäte pomocou SPI).I cannt vymazať dáta vnútri M25PE80.Neviem, či je môj problém alebo programovej schémy môj problém.Ale môžem písať a čítať z M25PE80, ale nemôže zmazať dáta ...to sa mi nemôže prepísať dáta ..I am using zhromaždenia k programu AT8052 na rozhraní M25PE80.
Nižšie bol môj Vymazať modul kód, nádeje u všetkých mi môže pomôcť, či to problém.
Kód:WRITE_EN:
MOV A, # 06h; inštrukcie pre zápis SK
MOV BITCNT, # 08h; zaslať 1 bytov naraz
SK, CLR, aby M25PE80 cez / SK
CLR C
SEND_WREN_CODE:
CLR SCL
RLC
Mov SDA, C
NOP
Sejba SCL
NOP
DJNZ BITCNT, SEND_WREN_DATA
Sejba WC1; uvedené M25PE80 štart
; Údaje spracúvať po všetkých údaje
; Urobiť
CALL DLY1MSPAGE_ERASE:MOV A, # 0DBH, inštrukcie pre STRANA ERASE
MOV R0, # RAM_EE1, obsahuje 3 byty adresa pre štart zmazať
MOV BYTECNT, # 03H
MOV BITCNT, # 08h; zaslať 1 bytov naraz
SK, CLR, aby M25PE80 cez / SK
CLR CSEND_PE_CODE:
CLR SCL; CLK O M25PE80
RLC
Mov SDA, C; DATA M25PE80
NOP
Sejba SCL
NOP
DJNZ BITCNT, SEND_PE_CODE
SEND_PE__ADDRESS:
MOV A, @ R0
MOV BITCNT, # 08hSEND_PE_ADDRESS_LOOP:
CLR SCL
RLC
Mov SDA, C
NOP
Sejba SCL
NOP
DJNZ BITCNT, SEND_PE_ADDRESS_LOOP1
INC R0
DJNZ BYTECNT, SEND_PE_ADDRESS
NOP
NOP
Sejba SK; uvedené M25PE80 štart
; Údaje spracúvať po všetkých údaje
; Urobiť
CALL DLY10MS
CALL DLY1MS
RET
i čelia problému s M25PE80 (serial flash pamäte pomocou SPI).I cannt vymazať dáta vnútri M25PE80.Neviem, či je môj problém alebo programovej schémy môj problém.Ale môžem písať a čítať z M25PE80, ale nemôže zmazať dáta ...to sa mi nemôže prepísať dáta ..I am using zhromaždenia k programu AT8052 na rozhraní M25PE80.
Nižšie bol môj Vymazať modul kód, nádeje u všetkých mi môže pomôcť, či to problém.
Kód:WRITE_EN:
MOV A, # 06h; inštrukcie pre zápis SK
MOV BITCNT, # 08h; zaslať 1 bytov naraz
SK, CLR, aby M25PE80 cez / SK
CLR C
SEND_WREN_CODE:
CLR SCL
RLC
Mov SDA, C
NOP
Sejba SCL
NOP
DJNZ BITCNT, SEND_WREN_DATA
Sejba WC1; uvedené M25PE80 štart
; Údaje spracúvať po všetkých údaje
; Urobiť
CALL DLY1MSPAGE_ERASE:MOV A, # 0DBH, inštrukcie pre STRANA ERASE
MOV R0, # RAM_EE1, obsahuje 3 byty adresa pre štart zmazať
MOV BYTECNT, # 03H
MOV BITCNT, # 08h; zaslať 1 bytov naraz
SK, CLR, aby M25PE80 cez / SK
CLR CSEND_PE_CODE:
CLR SCL; CLK O M25PE80
RLC
Mov SDA, C; DATA M25PE80
NOP
Sejba SCL
NOP
DJNZ BITCNT, SEND_PE_CODE
SEND_PE__ADDRESS:
MOV A, @ R0
MOV BITCNT, # 08hSEND_PE_ADDRESS_LOOP:
CLR SCL
RLC
Mov SDA, C
NOP
Sejba SCL
NOP
DJNZ BITCNT, SEND_PE_ADDRESS_LOOP1
INC R0
DJNZ BYTECNT, SEND_PE_ADDRESS
NOP
NOP
Sejba SK; uvedené M25PE80 štart
; Údaje spracúvať po všetkých údaje
; Urobiť
CALL DLY10MS
CALL DLY1MS
RET