Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---

Manque de mémoire sur mon PIC16F1779 ?

http://ww1.microchip.com/downloads/en/DeviceDoc/40001819B.pdf

Forum général sur le langage C !

Modérateur : Jérémy

Superphénix
Débutant
Débutant
Messages : 54
Enregistré en : mars 2020

Manque de mémoire sur mon PIC16F1779 ?

Messagepar Superphénix » lun. 30 mars 2020 22:20

Bonjour

Je souhaite déclarer un tableau qui contiens 6 * 19 char, et j'ai l'erreur suivante :

Code : Tout sélectionner

main.c:76:: error: (1250) could not find space (114 bytes) for variable _AFF

pourtant mon PIC16F1779 a 28k de mémoire programme et 2k de ram. Du coup je ne comprends pas cette erreur.

Merci

Avatar de l’utilisateur
Claudius
Passioné
Passioné
Messages : 260
Enregistré en : septembre 2015
Localisation : ELANCOURT (78 - YVELINES)
Contact :

Manque de mémoire sur mon PIC16F1779 ?

Messagepar Claudius » lun. 30 mars 2020 22:42

Bonsoir,

Sauf erreur de ma part, la mémoire de ce pic, bien "qu'importante", est organisée en bank et donc pas possible d'allouer 6 * 19 = 114 bytes consécutivement (essayer avec 80 bytes pour voir si ça passe)

Cf. sa datasheet page 40:

3.3 Data Memory Organization
The data memory is partitioned in 32 memory banks
with 128 bytes in a bank. Each bank consists of
(Figure 3-3):
• 12 core registers
• 20 Special Function Registers (SFR)
• Up to 80 bytes of General Purpose RAM (GPR)
• 16 bytes of common RAM

Superphénix
Débutant
Débutant
Messages : 54
Enregistré en : mars 2020

Manque de mémoire sur mon PIC16F1779 ?

Messagepar Superphénix » lun. 30 mars 2020 23:16

J'ai décomposé le tableau en 2 :

Code : Tout sélectionner

char AFF1[3][19], AFF2[3][19] ;

et là ça marche :)
Merci!


Retourner vers « Langage C »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 31 invités