programmation des PICs avec mikroc
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

programmation des PICs avec mikroc



  1. #1
    invite5207145e

    programmation des PICs avec mikroc


    ------

    Bonjour,
    Je débute dans la programmation de PIC 16F876A avec mikroC
    je voulais faire une fonction qui compare une chaine de caractères de longueur qui ne dépasse pas 10 octet à la séquence "+++" et retourne '1' si le résultat est vrai.
    cette fonction sera utilisée après dans un programme qui lit des données reçues d'une interface USART et selon le résultat de comparaison avec cette chaine il change le PIC change de fonctionnement.
    j'ai fait le programme ainsi que la fonction mais mon probléme c'est que au niveau de debug de celle ci ne change pas d'état.
    quelqu'un peut m'aider SVP!!!!
    voici le code de ma fonction
    Code:
    //définition de la fonction
     int Compare (char X, char Y )
    {
    int i ;
    char X[10];
    char Y[]="+++";
    
    for (i=0; i<10;i++)
    {
      if (X[i]==Y[i])
      {
     return (1);
       }
    
       }
    }
      unsigned short A=0;
      void main()
     {
     char rec[10];
     char dat[]="+++";
        do {
        compare (rec,dat);
         A=compare (rec,dat);
     }
     while(1);
     
     }//~!

    -----
    Dernière modification par yoda1234 ; 26/05/2009 à 19h10.

  2. #2
    ProgVal

    Re : programmation des PICs avec mikroc

    Bonjour,

    Code:
    for (i=0; i<10;i++)
    {
    if (X[i]==Y[i])
    {
    return (1);
    }
    Ca ne marchera donc que si X débute par +
    Le bon code est donc:
    Code:
    for (i=0; i<10;i++)
    {
    if (X[i]==Y[0])
    {
       for (int j=1; j<3; j++) // pas besoin de commencer à 0, on a déjà testé
       {
          if (X[i+j]!=Y[j]) // Si la chaine n'est pas celle qui coupe...
          {
             exit(); // On sort de la boucle for avec j
          }
          return (1);
    }
    EDIT: et ceci n'a rien à voir avec le fait que tu programmes des PICs, c'est une question sur le C...

    Cordialement,
    ProgVal

  3. #3
    JPL
    Responsable des forums

    Re : programmation des PICs avec mikroc

    Si cela devait dériver sur des choses spécifiques aux PICs il faudrait demander de déplacer la discussion vers le forum Électronique.
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  4. #4
    invite5207145e

    Re : programmation des PICs avec mikroc

    j'ai répondu un peu tard mais merci bien
    ( sa fait honte ke g pas pu imaginer cette solution)
    j'ai essayé autre chose:
    un compteur qui s'incrimente a chaque fois il trouve '+'
    et une variable qui retourne la longeur de la chaine
    voila le code:
    Code:
    do {
    i=0;
    compt=0;
    inter=0;
    while (compt!=3)
    { if (usart_data_ready())
      { receive[i]= usart_read();
       if (receive[i]=='+' )
         { compt++;}
         else {compt=0;}
          i++;
         }
     }
    inter=i;
    usart_write(0xD);
    for (i=0; i<=inter-4;i++)
    {usart_write(receive[i]);
    }
     usart_write(0xD);
     } while(1);

    Rappel de la charte que tu as acceptée en t'inscrivant ici:

    Respectez les lecteurs du forum, n'écrivez pas vos messages en style SMS ou phonétique. Utilisez la fonction "prévisualisation" pour vous relire et limiter les fautes d'orthographe.
    Merci d"en tenir compte à l'avenir

    Pour la modération,

    yoda1234.
    Dernière modification par yoda1234 ; 26/05/2009 à 19h14.

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

    Re : programmation des PICs avec mikroc

    Je ne comprend pas très bien ton code, car je suis loin d'être un expert en C, mais est-il normal de réinitialiser i, compte, et inter à chaque cycle de la boucle do?

Discussions similaires

  1. programmation des pics 16f84
    Par brado dans le forum Électronique
    Réponses: 2
    Dernier message: 05/10/2008, 22h46
  2. Programmation des pics :
    Par invitef3bd5ad5 dans le forum Électronique
    Réponses: 1
    Dernier message: 01/11/2006, 20h23
  3. Programmation des PICs 18F448
    Par invite0e36b18a dans le forum Électronique
    Réponses: 0
    Dernier message: 02/01/2006, 13h11
  4. Programmation des PICs
    Par invite0e36b18a dans le forum Électronique
    Réponses: 0
    Dernier message: 25/12/2005, 17h09
  5. Programmation des Pics
    Par f6bes dans le forum Électronique
    Réponses: 6
    Dernier message: 19/06/2005, 12h13
Découvrez nos comparatifs produits sur l'informatique et les technologies.