2011-11-28 6 views
3

내가 PIC의 EEPROM에 값을 저장할 수 있어야하는 프로젝트에서 일하고 있는데, 내가 읽을 수 있도록 노력했지만 지금까지는 PIC가 메모리에 쓸 수 없다. PIC 어셈블리. 이것은 내가 사용하고있는 코드이며, 데이터 시트의 코드를 작성하는 예제에서 파생되었으며 16D630 PIC를 사용하고 PIC 어셈블리 언어를 사용합니다. 프로그램로드 EEADREEDATA 값 이전EEPROM PIC에 쓰기?

MOVLW 0x02 
MOVWF EEADR 
MOVLW 0x01 
MOVWF EEDATA 
BSF STATUS,RP0 ;BANK 1 
BSF EECON1,WREN ;ENABLE WRITE 
BCF INTCON,GIE ;DISABLE INTS 
MOVLW 0x55 ;UNLOCK WRITE 
MOVWF EECON2 ; 
MOVLW 0xAA ; 
MOVWF EECON2 ; 
BSF EECON1,WR ;START THE WRITE 
BSF INTCON,GIE ;ENABLE INTS 
+0

여기에서 응답을받지 못하면 마이크로 칩 포럼을 시도하고 싶을 수도 있습니다 ... 여기에 구체적인 임베디드 피드백이 많이 없지만 가끔 운이 좋을 때도 있습니다. –

+0

감사합니다. PIClists는 나에게 아무 것도 밝히지 않았다. ( –

+0

http://www.microchip.com/forums는이 것을 잊지 않는다. –

답변

3

설정 적절한 메모리 뱅크.

사용 "시계는"창이 레지스터의 값을 제어 할 수 EEADREEDATA 당신이 debbug 모드에서 프로그램 라인을 통해 (F7)을 스테핑!

BSF STATUS,RP0  ;Set BANK 1 first !!! 
MOVLW 0x02 
MOVWF EEADR 
MOVLW 0x01 
MOVWF EEDATA 

BSF EECON1,WREN ;ENABLE WRITE 
BCF INTCON,GIE ;DISABLE INTS 
MOVLW 0x55 ;UNLOCK WRITE 
MOVWF EECON2 ; 
MOVLW 0xAA ; 
MOVWF EECON2 ; 
BSF EECON1,WR ;START THE WRITE 
BSF INTCON,GIE ;ENABLE INTS 
0

당신이 쓰기 WREN 플래그를 사용하도록 설정하기 전에 당신은 프로그램 메모리 (플래시)로 또는 설정/EECON1에 EEPGD 플래그를 취소하여 EEPROM에 쓰기하려는 여부를 표시해야합니다.