Estoy con el PIC 16F1503, que tiene 3,5Kb de RAM. http://docs-europe.electrocomponents.com/webdocs/1084/0900766b81084086.pdf
Pues como que no me entero, a ver si poco a poco pillo los conceptos y me voy enterando del XQ, y puedo resolver el fallo.
Empezemos con la lectura de la falsh que es lo más fácil, lo 1º que no entiendo, este es un ejemplo que indican en el datasheet para leer la flash:
* This code block will read 1 word of program
* memory at the memory address:
PROG_ADDR_HI : PROG_ADDR_LO
* data will be returned in the variables;
* PROG_DATA_HI, PROG_DATA_LO
BANKSEL PMADRL ; Select Bank for PMCON registers
MOVLW PROG_ADDR_LO ;
MOVWF PMADRL ; Store LSB of address
MOVLW PROG_ADDR_HI ;
MOVWF PMADRH ; Store MSB of address
BCF PMCON1,CFGS ; Do not select Configuration Space
BSF PMCON1,RD ; Initiate read
NOP
NOP
MOVF PMDATL,W ; Get LSB of word
MOVWF PROG_DATA_LO ; Store in user location
MOVF PMDATH,W ; Get MSB of word
MOVWF PROG_DATA_HI ; Store in user location
La 1ª pregunta, si el 16F1503 es un PIC de 8 bits, y se direcciona uno de ellos con la dirección PROG_ADDR_HI : PROG_ADDR_LO en la que solo caben 8 bits, XQ hay dos datos
DATA LOW y DATA HIGH ; o es que en una dirección caben 16 bits de datos . Bueno segun veo en el datasheet 14bits XQ los dos mas altos de DATA H no estan implementados.
Gracias