Autor Tema: Cómo leer un byte de la memoria FLASH (de programa) del PIC  (Leído 1095 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado jfmateos2

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3145
Cómo leer un byte de la memoria FLASH (de programa) del PIC
« en: 30 de Junio de 2016, 01:53:41 »
Tengo un programa con un array de 512 byte grabado en la memoria ROM/FLASH/DE PROGRAMA del PIC.

¿Cómo puedo acceder a un byte concreto de ese array?

He visto la función memcpypgm2ram para copiar arrays de la FLASH a la RAM, pero ¿Conocen algún método más rápido o alternativo cuando sólo necesitas leer un byte?

Gracias

Desconectado jfmateos2

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3145
Re:Cómo leer un byte de la memoria FLASH (de programa) del PIC
« Respuesta #1 en: 30 de Junio de 2016, 02:24:48 »
Ok, ya encontré la solución.
Basta con definir un puntero al comienzo de ese array en la ROM y luego leerlo con el [index] apropiado.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Cómo leer un byte de la memoria FLASH (de programa) del PIC
« Respuesta #2 en: 30 de Junio de 2016, 08:55:20 »
Pregunta, pero si tenes un array guardado, supongamos:

const uint8_t array[512] = { .... };

Deberias poder leerlo simplemente con array[200] si es que necesitas el valor 200.

A no ser que lo tengas definido de otra forma.