Bonjour, cliquez-ici pour vous inscrire et participer au forum.
  • Login:



+ Répondre à la discussion
Page 1 sur 2 1 DernièreDernière
Affichage des résultats 1 à 15 sur 18

microcontroleur PIC et tableaux

  1. mmarc2007

    Date d'inscription
    mars 2009
    Âge
    32
    Messages
    110

    Question microcontroleur PIC et tableaux

    Bonjour à tous,

    J'ai une question vraiment bête mais je sèche lamentablement!
    J'ai fais un programme en C sous CC5X pour mon PIC 16f628a.

    Le but c'est d'envoyer une chaine de caractère via la fonction usart. J'ai un tableau qu'on va appeler T[10], j'ai une méthode qu'on ma donné qui permet d'envoyer caractère par caractère. ça marche très bien!

    Le problème est: comment remplir mon tableau? jusque là je fais T[0]='h';
    T[1]='e';
    T[2]...

    C'est vraiment pas très pratique!

    Comment faire?

    Merci

    -----

     


    • Publicité



  2. maximilien

    Date d'inscription
    mai 2007
    Messages
    1 529

    Re : microcontroleur PIC et tableaux

    Bonjour!

    Je n'ai pas utilisé CCS mais d'habitude on fait:
    char tab[5] = {'e','d','f','g','h'};
     

  3. mmarc2007

    Date d'inscription
    mars 2009
    Âge
    32
    Messages
    110

    Re : microcontroleur PIC et tableaux

    Oui mais là tu initialise la variable!
    En C j'avais l'habitude d'initialiser la variable comme ça:

    /*initialisation*/
    char T[5];
    /*remplissage*/
    strcpy(T,"Hello");

    Sauf que mon compilateur ne connait pas strcpy et que je n'ai pas de librairie du genre stdio.h :s
     

  4. maximilien

    Date d'inscription
    mai 2007
    Messages
    1 529

    Re : microcontroleur PIC et tableaux

    Y'a un truc qui m'échappe là...

    Citation Envoyé par mmarc2007 Voir le message
    Oui mais là tu initialise la variable!
    Ok...

    Citation Envoyé par mmarc2007 Voir le message
    En C j'avais l'habitude d'initialiser la variable comme ça:
    /*initialisation*/
    char T[5];
    /*remplissage*/
    strcpy(T,"Hello");

    Sauf que mon compilateur ne connait pas strcpy et que je n'ai pas de librairie du genre stdio.h :s
    Ben tu le dis toi même:
    "En C j'avais l'habitude d'initialiser la variable"

    Tu veut faire quoi???
    Je présume que ton Hello il va pas changer. Si ton tableau est fixe je ne vois pas le problème.
     

  5. mmarc2007

    Date d'inscription
    mars 2009
    Âge
    32
    Messages
    110

    Re : microcontroleur PIC et tableaux

    erf ! j'aurai du préciser que le "Hello" va changer. Si tu veux le but c'est d'envoyer des chaines de caractere via la ligne RS232 et j'ai donc un tableau déclaré de façon global. J'ai deux méthodes:
    -une qui lis les données de mon tableau et les envois
    -une qui lis les données de la ligne RS232 et les place dans mon tableau.

    Donc le but c'est de changer la valeur de mon tableau dynamiquement

    Merci de ton aide
     


    • Publicité



  6. maximilien

    Date d'inscription
    mai 2007
    Messages
    1 529

    Re : microcontroleur PIC et tableaux

    Citation Envoyé par mmarc2007 Voir le message
    Le but c'est d'envoyer une chaine de caractère via la fonction usart. J'ai un tableau qu'on va appeler T[10], j'ai une méthode qu'on ma donné qui permet d'envoyer caractère par caractère. ça marche très bien!
    Il n'était pas question de placer les caractères reçus dans un tableau...

    Je ne vois qu'une boucle comme réponse: a chaque caractères reçu on incrémente i et après T[i]...
     

  7. mmarc2007

    Date d'inscription
    mars 2009
    Âge
    32
    Messages
    110

    Re : microcontroleur PIC et tableaux

    Attend on c'est pas compris!

    les deux methodes sont implémentés. Je suis capable de recevoir caracteres après caracteres sans problèmes et je les palces dans un tableau c'est pour ça que je n'en ai pas parlé.

    Ce qui me pose problème c'est de placer une chaine de caractere dans un tableau, cela ne pouvant pas se faire par une initialisation car mon tableau est global et dynamique

    Par exemple, mon Pic reçoit une suite de caractere, je les place dans un tableau avec une boucle (comme tu l'as dis). Je regarde le contenu et si c'est valable, je lui répond un petit mot doux du genre "bravo mon petit pic t'es le plus fort ". Je pense refaire moi même la méthode strcpy n'ayant pas la librairie. Tu as des pistes?

    Je suis clair?
     

  8. maximilien

    Date d'inscription
    mai 2007
    Messages
    1 529

    Re : microcontroleur PIC et tableaux

    Désolé mais je ne comprends pas tout a fait le truc!
    Si le but est d'envoyer et de recevoir des chaine de caractères, ok.
    1) tu envois "blablabla"
    2) tu reçois "truc truc truc"
    3) tu envois "j'ai bien reçu"

    Mais pourquoi vouloir faire une chaine de caractères?
    Puisque il suffit de lire le tab pour y voir les infos??
     

  9. mmarc2007

    Date d'inscription
    mars 2009
    Âge
    32
    Messages
    110

    Re : microcontroleur PIC et tableaux

    Citation Envoyé par maximilien Voir le message
    Désolé mais je ne comprends pas tout a fait le truc!
    Si le but est d'envoyer et de recevoir des chaine de caractères, ok.
    1) tu envois "blablabla"
    2) tu reçois "truc truc truc"
    3) tu envois "j'ai bien reçu"

    Mais pourquoi vouloir faire une chaine de caractères?
    Puisque il suffit de lire le tab pour y voir les infos??
    "j'ai bien reçu" c'est une chaine de caractere ok? ba je veux justement placer "j'ai bien reçu" dans mon tableau!
     

  10. maximilien

    Date d'inscription
    mai 2007
    Messages
    1 529

    Re : microcontroleur PIC et tableaux

    Citation Envoyé par mmarc2007 Voir le message
    je veux justement placer "j'ai bien reçu" dans mon tableau!
    Initialisation. (c'est un message fixe donc?)

    D'autre part une chaine de caractères n'est en fait qu'un tableau...

    Précise ton système pour voir ce qu'il y a derrière.
     

  11. mmarc2007

    Date d'inscription
    mars 2009
    Âge
    32
    Messages
    110

    Re : microcontroleur PIC et tableaux

    Citation Envoyé par maximilien Voir le message
    Initialisation. (c'est un message fixe donc?)
    Hors propos... L'initialisation n'a aucun rapport avec le fait que ce soit fixe ou non, et je voi pas pourquoi tu te focalise dessu?!


    Citation Envoyé par maximilien Voir le message
    D'autre part une chaine de caractères n'est en fait qu'un tableau...
    Super merci!

    Désolé je suis agressif mais j'ai l'impression de me répéter, j'ai grater un peu sur d'autres forums, j'ai fais cette petite méthode qui semble répondre à mon problème, j'ai plus qu'a tester, bonne continuation!

    Code:
    void remplirChaine(const char * chaine){
    char i=0;
    while(1){
    	char u = *chaine++;
    	if (!u) break;
    	T[i]=u;
    	i++;
    	}
    }
    y a plus qu'a faire remplirChaine("Hello world!");
    Je retrouve ma chaine dans mon tableau T.

    Marc.
     

  12. maximilien

    Date d'inscription
    mai 2007
    Messages
    1 529

    Re : microcontroleur PIC et tableaux

    Citation Envoyé par mmarc2007 Voir le message
    L'initialisation n'a aucun rapport avec le fait que ce soit fixe ou non, et je voi pas pourquoi tu te focalise dessu?!
    Tout comme tu reste focalisé sur ta chaine de caractères...

    Car si le but est d'envoyer ce que t'as dans ton tableau puis de mettre dans ce même tableau ce que tu reçois alors perso je ferais ça:

    tab="toto"
    envoi(tab[i]) //envoi de 't'
    envoi(tab[i+1]) //envoi de 'o'
    envoi(tab[i]) //envoi de 't'
    envoi(tab[i+1]) //envoi de 'o'

    tab[i]= reçois() //tab[i] = caractère reçu
    tab[i+1]= reçois() //tab[i+1] = caractère reçu
    ...
    là pas besoin de ta chaine de caractères... après j'ai peut être mal compris! Mais faut dire ta pas été très clair non plus!!!!!
     

  13. mmarc2007

    Date d'inscription
    mars 2009
    Âge
    32
    Messages
    110

    Thumbs up Re : microcontroleur PIC et tableaux

    Citation Envoyé par maximilien Voir le message
    tab="toto"
    c'est justement ça que je veut faire, foutre "toto" dans tab!

    Envoyer mon tableau ou recevoir des donner je sais faire, mais je suis incapable de mettre "toto" dans tab!! Relis ce que j'ai ecris je vois pas comment faire plus clair?!

    Ma méthode fonctionne donc merci quand même de ton aide.
     

  14. maximilien

    Date d'inscription
    mai 2007
    Messages
    1 529

    Re : microcontroleur PIC et tableaux

    D'où viennent des données a part de la liaison RS232?
    tab=toto c'est pour mettre la première fois quelque chose dans tab.
    Je croyait qu'après tu mettais dans ton tab ce que tu reçois de ta liaison RS232...

    mon Pic reçoit une suite de caractere, je les place dans un tableau
    Bref ça marche ton truc donc voila...

    Mais pour comprendre faudrai que tu décrive un peu plus ton système! Comment savoir d'ou viennent tes chaines de caractères et ce que t'en fait et c'est pour quoi!
    On n'est pas devin!!!!!
     

  15. mmarc2007

    Date d'inscription
    mars 2009
    Âge
    32
    Messages
    110

    Re : microcontroleur PIC et tableaux

    Je suis rentré trop dans les details et je t'ai embrouillé, méacoulpa!

    Mais je pensais etre clair lorsque je disais: "comment mettre une chaine de caractere dans un tableau" car bien evidamment tab="toto" n'est pas possible! sauf si mon tableau est un char * et ici ce n'est pas le cas!

    Je n'ai pas testé ma méthode, faut que je flash mon Pic ce soir.

    Bye!
     


    • Publicité







Sur le même thème :





 

Discussions similaires

  1. Microcontroleur PIC 16F883
    Par nevada62 dans le forum Électronique
    Réponses: 1
    Dernier message: 29/01/2009, 14h04
  2. MicroControleur PIC
    Par Xblade71 dans le forum Électronique
    Réponses: 9
    Dernier message: 01/10/2008, 19h15
  3. Microcontroleur Pic(entrée sortie)
    Par Mikaeltrigo dans le forum TPE / TIPE et autres travaux
    Réponses: 1
    Dernier message: 06/10/2007, 10h56
  4. microcontroleur PIC??
    Par dilzydils dans le forum Électronique
    Réponses: 5
    Dernier message: 20/07/2006, 19h15
  5. Recherche de microcontrôleur pic
    Par KHEOPS1982 dans le forum Électronique
    Réponses: 10
    Dernier message: 15/03/2006, 22h56