Página 1 de 1

Como faço para gravar eeprom interna do pic em #ASM

MensagemEnviado: 20 Ago 2007 00:33
por Honorio.Melo
Estou utilizando o CCS para gravar a eeprom interna do pic16f628a através do write_eeprom. so que ela é muito lenta e a minha UART perde dados (a int_rda não funciona durante a gravação). estava querendo fazer uma rotina em ASM para gravar na eeprom. estudando o datasheet do 628 encontrei:

BSF STATUS, RP0 ;Bank 1
BSF EECON1, WREN ;Enable write
BCF INTCON, GIE ;Disable INTs.
MOVLW 55h ;
MOVWF EECON2 ;Write 55h
MOVLW AAh ;
MOVWF EECON2 ;Write AAh
BSF EECON1,WR ;Set WR bit
;begin write
BSF INTCON, GIE ;Enable INTs.

obs. o datasheet fala que o usuario primeirto tem que escrever o endereco em EEADR e os dados em EEDATA register.

mas como não conheço asm, não sei como portar isto para uma função CCS com #ASM. alguém se habilita? Agradeço antecipadamente.

MensagemEnviado: 20 Ago 2007 01:17
por Honorio.Melo
Resolvido com:

https://www.ccsinfo.com/forum/viewtopic ... 628+eeprom

e acrescentando:

#BYTE pir1 = 0x0C
#BYTE pie1 = 0x8C

MensagemEnviado: 20 Ago 2007 09:36
por Fábio Pereira
Honório, só uma coisa:

A lentidão da função de gravação da EEPROM não é uma característica do CCS, mas da memória.

Não adianta apenas escrever a função em ASM. Você tem de estudar a sua aplicação e implementá-la de forma que a temporização da escrita na EEPROM possa ser garantida.

T+