короче этот код на 452 работает
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено еепром 27 января 2004 г. 13:13
В ответ на: Смена PIC18F252 revision = 0x5 на такой же эффекта не дает, eeif обязательно должен выставляться? Т.е. если rd сбрасывается, а eeif не выставляется- что можно предположить? В datasheet такого не нашел. отправлено иа 27 января 2004 г. 13:08

;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
;@ П/п чтения данных из EEPROM @
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
EepromByteRead: MOVLW 1 ;
EepromBlockRead: MOVFF b0EepromAdr,EEADR ;
BCF EECON1,EEPGD ; Point to DATA memory
BCF EECON1,WREN ;
BCF EECON1,CFGS ;
INCF b0EepromAdr ;
BSF EECON1,RD ; EEPROM Read
MOVFF EEDATA,POSTINC0 ;
DECFSZ WREG ;
BRA EepromBlockRead ;
RET ;
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
;@ П/п записи данных в EEPROM @
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
EepromByteWr: MOVLF 1,b0EepromByteCnt ;
EepromBlockWr: BCF PIR2,EEIF ; Clear "WRITE TO EEPROM DONE" interrupt flag
_wenb: MOVFF b0EepromAdr,EEADR ; Init EepromAdr
BCF EECON1,EEPGD ; Point to DATA memory
BCF EECON1,CFGS ; Acsesse to EEPROM
NOP ;
BSF EECON1,RD ;
XORFF EEDATA,INDF0,w ;
BZ SkpWrEeprom ;

MOVFF INDF0,EEDATA ; Data Memory Value to write
BSF EECON1,WREN ; Enable writes
MOVLF 0x55,EECON2 ; Required sequence...
MOVLF 0xAA,EECON2 ; ...
BSF EECON1,WR ; Set WR bit to begin write
WAITB1 PIR2,EEIF ; ждемс конец записи,бля
BCF EECON1,WREN ; Disable writes
BCF PIR2,EEIF ;

SkpWrEeprom: MOVF POSTINC0,w ; incf FSR0
INCF b0EepromAdr ; Увеличить адрес EEPROM
DECFSZ b0EepromByteCnt ; все байты записаны?
BRA _wenb ;
RET ;


Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru