Bank 0 1 2 PIC 16f76 langage C
Répondre à la discussion
Affichage des résultats 1 à 17 sur 17

Bank 0 1 2 PIC 16f76 langage C



  1. #1
    invite648510a5

    Bank 0 1 2 PIC 16f76 langage C


    ------

    Bonjour,


    je dois utiliser dans mon programme des tableaux de caractères et j'aimerais le mettre en bank 1 ou autre.

    j'ai chercher sur les différents sujet mais je n'y ai paas encore trouvé mon bonheure

    si qlq un peut m'aider ce serait gentil

    a bientot

    -----

  2. #2
    RISC

    Re : Bank 0 1 2 PIC 16f76 langage C

    salut,

    quel compilateur C utilises-tu ?
    Le dinosaure (CC5X) ou HiTech (version Pro en mode lite = gratuite) ?

    Il y a quelques exemples ici : http://www.aix2pic.net/

    a+

  3. #3
    ak47only

    Re : Bank 0 1 2 PIC 16f76 langage C

    salut,

    En C, en général le compilateur l'occupe des bank donc il te suffi de déclarer ton tableau et le compilateur s'occupe de le stocker.

  4. #4
    RISC

    Re : Bank 0 1 2 PIC 16f76 langage C

    Salut AK47,
    Citation Envoyé par ak47only Voir le message
    En C, en général le compilateur l'occupe des bank donc il te suffi de déclarer ton tableau et le compilateur s'occupe de le stocker.
    Ton commentaire est à moitié vrai...On a effectivement rien à faire tant que les tableaux tiennent à l'intérieur d'une banque. Mais si ce n'est pas le cas, il faut modifier le fichier linker
    Et dans ce cas là il faut connaitre l'origine du compilateur car leur syntaxe n'est pas la même...

    a+

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

    Thumbs up Re : Bank 0 1 2 PIC 16f76 langage C

    salut,

    oui je travail avec HiTech pro
    donc il faudrait que je fasse qqch avec linker, mais je sais pas ce que c que ca...

  7. #6
    invite648510a5

    Re : Bank 0 1 2 PIC 16f76 langage C

    une autre question, est ce qu'on sait faire un nouveau registre et puis appeler chacun des bits?

    donc faire par exemple un registre comme INCONT mais appelle FLAG_UTILE et puis donner des nom aux bits pour pouvoir changer un des bits facilement?

  8. #7
    invite648510a5

    Re : Bank 0 1 2 PIC 16f76 langage C

    encore une question,

    je fais une interruption

    interrupt Interruptroutine() // directive
    {int i=0;
    input[i]=....
    .....
    }

    je veux utiliser dans cette interruption input[i] qui est dans mon void mais il ne reconnait pas cette variable

    comment est ce que je peux faire?

    est ce qu'on peut faire des return dans les interruption?

  9. #8
    sdec25

    Re : Bank 0 1 2 PIC 16f76 langage C

    une autre question, est ce qu'on sait faire un nouveau registre et puis appeler chacun des bits?
    Oui, avec des structures et des champs de bits.
    C'est déjà fait dans les fichier .h de C18 pour les registres existants. L'adresse de ces registres est définie dans un autre fichier.
    Sinon on peut faire ça en dynamique avec des pointeurs.

    je veux utiliser dans cette interruption input[i] qui est dans mon void mais il ne reconnait pas cette variable
    C'est quoi ton void ?

    est ce qu'on peut faire des return dans les interruption?
    Non. Quel est le but ?
    Dernière modification par sdec25 ; 12/12/2009 à 22h19.

  10. #9
    invite648510a5

    Re : Bank 0 1 2 PIC 16f76 langage C

    Je ne sais pas pq j'ai mi void. y a pas de void

    en fait j'ai une fonction getch() qui renvoit le caractere mis sur la broche Rx

    donc je met input[i]=getch()


    mais j'ai declarer input[i] dans main et non dans void...

  11. #10
    sdec25

    Re : Bank 0 1 2 PIC 16f76 langage C

    Donc tu veux utiliser une variable déclarée dans un autre fichier ?
    Déclare la variable globale en volatile extern.

  12. #11
    invite648510a5

    Re : Bank 0 1 2 PIC 16f76 langage C

    void main(void){

    volatile unsigned char input[30];
    unsigned char command[20];


    ADCON1=0b00000111;
    TRISB = 0b11111111;
    TRISA = 0b11110000;


    INTCON=0b11000000;
    PEIE=1;
    RCIE=1;
    init_comms();
    recois(input+pos);
    }


    interrupt Interruptroutine()
    {int i=0;
    if(RCIF) // Interruption par Rx
    {
    i++;
    recois(input+i);
    if (input[i]=='\r')
    RCIF=0;
    //T0IF=0;
    //T0IE=1;
    }
    }

  13. #12
    invite648510a5

    Re : Bank 0 1 2 PIC 16f76 langage C

    input est donc declarer dans le meme fichier et je veux utiliser cette variable

  14. #13
    sdec25

    Re : Bank 0 1 2 PIC 16f76 langage C

    Citation Envoyé par Brizme Voir le message
    input est donc declarer dans le meme fichier et je veux utiliser cette variable
    Alors il faut la déclarer en global.
    Une variable locale, définie entre { et }, est accessible uniquement entre ces accolades.

  15. #14
    invite648510a5

    Re : Bank 0 1 2 PIC 16f76 langage C

    est ce logique que je ne puisse plus l'utiliser dans le main maintenant?

    et pour les bank, tu sais comment declarer un tableau dans une autre bank?

  16. #15
    sdec25

    Re : Bank 0 1 2 PIC 16f76 langage C

    Citation Envoyé par Brizme Voir le message
    est ce logique que je ne puisse plus l'utiliser dans le main maintenant?
    Si elle est définie après le main, oui c'est logique.

    et pour les bank, tu sais comment declarer un tableau dans une autre bank?
    Tu as essayé de déclarer la variable avec le mot-clé bank1 ou bank2 ?

  17. #16
    invite648510a5

    Re : Bank 0 1 2 PIC 16f76 langage C

    pour ce qui est dde bank 1 ou 2 je l'ai donc declarer en global et ca fonctionne pour mon input, elle est bien declarer avant le main et donc devrait etre pour les deux fct mais j'ai comme erreur


    Error [593] ; . can't find 0x2 words (0x2 withtotal) for psect "intsave" in segment "BANK0"
    Error [593] ; . can't find 0x2 words (0x2 withtotal) for psect "code_ptr" in segment "BANK0"
    Error [593] ; . can't find 0x1 words (0x1 withtotal) for psect "intsave" in segment "BANK0"

  18. #17
    invite648510a5

    Re : Bank 0 1 2 PIC 16f76 langage C

    ok c resolu



    merci a bientot
    bonne nuit moi j'y vais...

Discussions similaires

  1. truc en langage assembleur PIC
    Par invite412b515c dans le forum Électronique
    Réponses: 0
    Dernier message: 04/06/2007, 20h05
  2. pb de langage c sur pic
    Par invite2b8b6193 dans le forum Électronique
    Réponses: 14
    Dernier message: 14/12/2006, 18h42
  3. Dogger Bank
    Par invitec6c3cd09 dans le forum Géologie et Catastrophes naturelles
    Réponses: 3
    Dernier message: 05/12/2006, 21h04
  4. Progammer les PIC en langage C
    Par invite2de8d382 dans le forum Électronique
    Réponses: 8
    Dernier message: 30/10/2006, 18h27
  5. quel langage pour pic ?
    Par invite0490cd3a dans le forum Électronique
    Réponses: 12
    Dernier message: 01/08/2006, 13h40
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...