TODOPIC
Microcontroladores PIC => Almacén del Assembler => Mensaje iniciado por: xiran en 13 de Junio de 2014, 21:20:28
-
Hola a todos, se q a lo mejor para mas de 1 se le ha de hacer algo sencillo la ayudita q pido, lo q pasa es q ya llevo varios dias intentando una correcta comprension sobre esas 2 funciones: tblrd y tblwt. La parte del codigo q genero es la siguiente:
movlw b'10000001'
movwf buffer1,1
movlw b'10101010'
movwf buffer2,1
tablat equ 0ff5h
movlw 0xff
movwf buffer2clon,1
movlw 0xff
movwf buffer1clon,1
clrf tblptru,0
clrf tblptrh,0
clrf tblptrl,0
bsf eecon1,eepgd,0
bcf eecon1,cfgs,0
bsf eecon1,wren,0
movlw 0x55
movwf eecon2,0
movff buffer1, tablat
tblwt*
movff buffer2, tablat
tblwt*+
clrf tblptrl,0
tblrd*
movff tablat, buffer1clon
tblrd*+
movff tablat, buffer2clon
Al simularlo en mplab simu, y ver los registros, al momento de leer buffer1clon, no tiene el valor q pienso deberia tener. Alguien me puede decir a q se debe? O mejor aun, necesito generar una tabla de, por decirlo, unos 20 bytes, y poder modificarla, uso tablas, pero estas no pueden ser modificadas. De antemano agradezco su tiempo.
-
Hola,
en la sección 6.5.1 del datasheet del microcontrolador que estás usando, se muestra un ejemplo completo de escritura en FLASH. Te recomiendo que le pegues una mirada y lo utilices de base para tu código.
Saludos!
-
Muchas gracias x responder Bruno, le voy a dar una septima leida, jejeje, si no mal entiendo, tengo q borrar y reescribir el arreglo, como veo en el ejemplo, de 32 bytes (forzosamente tienen q ser 32 o 64 bytes? si solo ocupo modificar 1 byte? saludos y no hay de otra, a seguir probando! cualquier cosa, actualizo el post!