[Programmation] Problème inexpliqué avec les tableaux sur PIC18F4525. (Problème de RAM ?)
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

Problème inexpliqué avec les tableaux sur PIC18F4525. (Problème de RAM ?)



  1. #1
    AmigaOS

    Problème inexpliqué avec les tableaux sur PIC18F4525. (Problème de RAM ?)


    ------

    Bonjour

    Je suis en train de programmer un PIC18F4525 en C avec MPLAB v8.80.
    Et j’ai un problème totalement bizarre. J’ai fais un programme qui fait des calculs et donne un résultat sur un afficheur 7 segment. Ce programme marche nickel !
    MAIS quand je veux rajouter un tableau comme ceci :
    unsigned char TAB[16][16] ;
    Et que ensuite j’affecte une valeur à l’une de ses cases, comme ceci :
    TAB[2][2] = 1 ; // Et cette instruction là change tout !
    --> L’afficheur m’affiche complètement autre chose.
    Pourtant ce tableau n’a rien avoir avec la première partie du programme. Il sert à faire autre chose!
    Je me suis dit que ce tableau prenait peut être trop de ram dans le pic et écrase donc d’autres donnée mais MPLAB me le signale seulement quand je rentre un tableau bien plus grand du genre unsigned char TAB[30][30] ;, pas avec 16*16 cases.

    J’ai aussi quelques Advisory qui parlent justement de RAM mais je ne comprends pas ce que c’est :

    Code:
    Microchip MPLAB XC8 C Compiler V1.12 Copyright (C) 2012
    Microchip Technology Inc.
    License type: Node Configuration
    
    Advisory[1233] Employing 18F4525 errata work-arounds:
    Advisory[1234]  * Corrupted fast interrupt shadow registers
    Advisory[1234]  * Data in RAM location can be corrupted if async. reset occurs during write
    Warning [1273] ; . Omniscient Code Generation not available in Free mode 
    Memory Summary:
            Program space used  2DC6h ( 11718) of  C000h bytes   ( 23.8%) 
            Data space           used   442h (  1090) of   F80h bytes   ( 27.5%)
            Configuration bits   used     4h (     4) of     7h words   ( 57.1%) 
            EEPROM space         used     0h (     0) of   400h bytes   (  0.0%)
            ID Location space    used     0h (     0) of     8h nibbles (  0.0%)
    
    Running this compiler in PRO mode, with Omniscient Code Generation enabled, often produces code which is 60% smaller and at least 400% faster than in Free mode. The MPLAB XC8 PRO compiler output for this code could be 6871 bytes smaller and run 4 times faster. See http://www.microchip.com for more information.
    Merci

    -----
    Dernière modification par AmigaOS ; 05/06/2016 à 17h05.

  2. #2
    Seb.26

    Re : Problème inexpliqué avec les tableaux sur PIC18F4525. (Problème de RAM ?)

    essaye de couper les IT pendant tes accès au tableau ...
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  3. #3
    luc_1049

    Re : Problème inexpliqué avec les tableaux sur PIC18F4525. (Problème de RAM ?)

    bonsoir

    "Volatil" serait peut être une idée.
    Vérifiez si la réservation mémoire est bien effective sachant que c'est un tableau double. Il vous fera peut être aussi accéder à la donnée par un pointeur...

    cdlt

  4. #4
    RISC

    Re : Problème inexpliqué avec les tableaux sur PIC18F4525. (Problème de RAM ?)

    Salut,
    Je crois me souvenir que pas mal de problèmes de pointeurs pour les PIC18 ont été résolus dans une des versions récentes de XC8.
    Essaye de télécharger la dernière version de XC8 (v1.37 en ce moment) et de recompiler.
    Il ne faut pas oublier que les PIC18 ont des banques de RAM de 256 octets donc tout ce qui dépasse cela oblige le compilateur à faire des acrobaties avec les pointeurs...
    a+

  5. A voir en vidéo sur Futura
  6. #5
    AmigaOS

    Re : Problème inexpliqué avec les tableaux sur PIC18F4525. (Problème de RAM ?)

    Merci pour les réponses.
    J'ai résolut le problème. Enfaite un autre tableau n'était pas initialisé. Je vois pas pourquoi ça change mais maintenant tout fonctionne.
    Code:
    for(i=0; i<16; i++) for(j=0; j<16; j++) AUTRETABLEAU[i][j] = 0 ;   // Et là ça marche...

Discussions similaires

  1. probleme avec chaudiere Viessmann Vitocrossal 300 - probleme de sur-tension?
    Par apap dans le forum Habitat bioclimatique, isolation et chauffage
    Réponses: 0
    Dernier message: 19/04/2016, 22h52
  2. J'ai du mal avec les tableaux d'avancements
    Par invite96976aa0 dans le forum Chimie
    Réponses: 2
    Dernier message: 24/01/2008, 17h31
  3. problème de programmation linéaire par la méthode des tableaux réduits
    Par invite9e4aef14 dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 12/04/2005, 04h58
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...