TODOPIC
Microcontroladores PIC => dsPIC => Mensaje iniciado por: frangolmedo en 15 de Junio de 2015, 07:37:26
-
Buenas a tod@s,
Estoy trabajando en un proyecto con el dsPIC33EP, y necesito saber como escribir y leer la memoria flash (en concreto, quiero guardar y leer una serie de arrays). Me he leído el datasheet pero no estoy seguro de entenderlo. Si alguno tiene un ejemplo de código (a ser posible en C) o puede explicarme como se hace, estaré muy agradecido.
Un saludo, y muchísimas gracias de antemano.
Fran
-
En C por que no los declaras como const
Ej:
const int[10] = {1,2,3,4,5,6,7,8,9,0}
Segun:
http://ww1.microchip.com/downloads/en/DeviceDoc/50002071E.pdf
Podes definir donde ponerlo con
const char keys[] __at(123) = { ’r’, ’s’, ’u’, ’d’};
Para guardar algo en la flash, tenes 2 opciones:
HOW CAN I LOAD A VALUE INTO FLASH MEMORY?
The compiler provides different ways of defining Flash variables.
• A variable can be explicitly placed into Flash using an appropriate space attribute.
• Variables are implicitly placed into Flash in the default const-in-code memory model if they have the C const type qualifier.
Deberias leerte sobre el PSV.. Pagina 174.
Eso deberia guardaterlo en la flash... Y podrias leerlo. Si no podrias buscar un ejemplo de algun filtro FIR/IIR y ver como usa el acceso de la memoria X e Y para que pueda leer ambos valores a la misma ves.
Si queres saber las funciones:
16-Bit Language Tools Libraries Reference Manual
http://ww1.microchip.com/downloads/en/DeviceDoc/50001456J.pdf
Pag 211 comienzan todas las funciones de escritura de la flash, recorda que para escribirla la tenes que borrar, y que solo se borra de una cierta cantidad de bytes. Donde normalmente es mayor a lo que uno escribe lee.
De todas formas la flash no es para escribirla constantemente. Sino para valores constantes
-
Muchas gracias KILLERJC, ha sido de mucha ayuda!! :)
Un saludo,
Fran