2017-10-09 5 views
0

Pouvez-vous me dire pourquoi je reçois une erreur lors de l'utilisation de ce code dans XC16 MPLAB? PIC24FJ64GA004PIC24F eeprom et XC16 MPLAB

unsigned int __attribute__ ((space(eedata))) eeData[] = {100, 1, 22, 33, 44, 156, 3, 10, 1}; 

error: space(eedata) not supported on this target

Désolé pour la question débutant.

Répondre

1

Le problème est que le PIC24FJ64GA004 ne dispose pas d'une mémoire EEPROM intégrée. Le compilateur le reconnaît donc jette cette erreur. Comparez cela, disons, à un PIC24F32KA302, qui a 512 octets d'EEPROM sur puce.

Votre meilleur pari si vous avez besoin de mémoire non volatile pour écrire via votre application est:

A) Utilisez une puce cible différente avec EEPROM dédiée sur puce

B) Emuler une EEPROM à l'aide la mémoire de programme flash utilisé (Il y a Libraries là pour cela)

C) Utilisez une EEPROM hors puce que vous pouvez l'interface avec via la communication série (comme This)