Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1215 connectés 

  FORUM HardWare.fr
  Programmation
  C

  [C] petit programme qui fonctionne pas.....

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] petit programme qui fonctionne pas.....

n°1555667
Neo_007
Toujours copié.. Jamais egalé!
Posté le 05-05-2007 à 13:10:05  profilanswer
 

bonjours à tousse!

 

est ce que vous pouvez jeter un coup d'oeil a mon programme test?
C'est ecrit en C sous PICC
d'après mes prof la syntaxe est bonne mais je n'arrive pas a avoir ce que je veus....

 


Code :
  1. const char CARD_SUCC[14]= {0xFF,0x0E,0xA3,0x08,0xF8,0x82,0x65,0x08,0xF8,0x82,0x65,0xFF,0x08,0x63};
  2. char a;
  3. char b;
  4. char i;
  5. b=0;
  6. for(i=0; i<14; i++)
  7.     {while(b==0)
  8.              {a=getc(RFID);
  9.               b=a^CARD_SUCC[i];
  10.              }
  11.     }
  12. if(i==14 && b==0)
  13.     {delay_ms(1000);
  14.      putc(0xAA,RFID);
  15.     }
  16. else
  17.     {delay_ms(2000);
  18.      putc(0xAA,RFID);
  19.     }
  20. while(1)
  21. {}
 

merci encore


Message édité par Neo_007 le 05-05-2007 à 15:59:22
mood
Publicité
Posté le 05-05-2007 à 13:10:05  profilanswer
 

n°1555684
Amonchakai
Posté le 05-05-2007 à 13:43:56  profilanswer
 

et tu veux que ça fasse quoi en fait ? :D

n°1555692
Neo_007
Toujours copié.. Jamais egalé!
Posté le 05-05-2007 à 14:06:27  profilanswer
 

dsl j'ai oublié de le dire.... :pt1cable:  
 
Donc je travaille sur un module de lecture/ecriture de TAG RFID
il y a 2 cas, celui ou la carte est presente et ou elle ne l'est pas....
 
alors j'envoie une donnée sur le port serie nomée : RFID.
et bien entendue la reponse depend de la presence de la carte.
 
La constante CARD_SUCC correspond a la reponse du module dans le cas ou la carte est presente.
 
Voila pour l'explication.
 
Donc je veux qu'il m'envoie 0xAA 1 seconde apres la verif quand la carte est presente
et 0xAA 2 secondes apres lorsqu'elle est absente....

n°1555716
Trap D
Posté le 05-05-2007 à 15:19:20  profilanswer
 

En sortie de boucle, i est égal à 14 pas à 13, mais je ne sais pas si c'est ça ton pb, je ne connais rien au PIC et je ne sais pas ce que tu veux.
De toute façon, j'ai l'impression qu'à la sortie de la boucle, forcément i est égal à 14 et b est différent de 0, (sinon tu ne sortirais pas du while)
En fait, ta boucle for ne sert à rien pour ce qui est du C,  mais comme je l'ai déjà dit, je ne connais rien au PIC.


Message édité par Trap D le 05-05-2007 à 15:27:23
n°1555721
Neo_007
Toujours copié.. Jamais egalé!
Posté le 05-05-2007 à 15:27:02  profilanswer
 

en effet je pensais bien...
je test ca lundi et je vous redonne de mes nouvelle
mais je pense qu'il y a un autre probleme comme meme, car je crois me souvenir d'avoir tenté le i==14

n°1555724
Trap D
Posté le 05-05-2007 à 15:39:38  profilanswer
 

Neo_007 a écrit :

en effet je pensais bien...
je test ca lundi et je vous redonne de mes nouvelle
mais je pense qu'il y a un autre probleme comme meme, car je crois me souvenir d'avoir tenté le i==14

Oui mais aussi b est différent de 0  et oit tu testes (i==13 && b==0) donc ce test est toujours en echec.

n°1555728
Neo_007
Toujours copié.. Jamais egalé!
Posté le 05-05-2007 à 15:57:43  profilanswer
 

le ^ n'est pas un ou exclusif?
car dans le cas où ca l'ai tans que a=CARD_SUCC[i], b=0,  non?

 

PS : j'ai edité le code et mis if (i==14) comme tu me la dit


Message édité par Neo_007 le 05-05-2007 à 16:01:03
n°1555730
Trap D
Posté le 05-05-2007 à 16:04:46  profilanswer
 

Oui, mais dans ton for, tu boucles sur b égal à 0 avec while (b == 0) donc tu ne sors de la boucle que si b != 0, tu peux alors sortir de la boucle for et tu ne peux jamais avoir b == 0 au sortir du for.

n°1555732
Neo_007
Toujours copié.. Jamais egalé!
Posté le 05-05-2007 à 16:09:27  profilanswer
 

donc je dois mettre while (b==0 && i<14)?

 

donc du coup mon for ne servirais plus a rien et le code sera :

Code :
  1. i=0;
  2. b=0;
  3. while(b==0 && i<14)
  4.        {a=getc(RFID);
  5.          b=a^CARD_SUCC[i];
  6.          i=i++
  7.        }


Message édité par Neo_007 le 05-05-2007 à 16:25:40
n°1555733
Trap D
Posté le 05-05-2007 à 16:14:07  profilanswer
 

Que veux-tu faire exactement ?

mood
Publicité
Posté le 05-05-2007 à 16:14:07  profilanswer
 

n°1555734
Neo_007
Toujours copié.. Jamais egalé!
Posté le 05-05-2007 à 16:19:19  profilanswer
 

excuse j'ai pas vue que tu m'avais deja dit que mon for ne servais a rien....

n°1555787
Trap D
Posté le 05-05-2007 à 18:25:45  profilanswer
 

D'après ton code, tu fais au maximum 14 essais de lecture d'un fichier RFID, et tu t'arrêtes avant si b est différent de 0.
C'est bien ce que tu veux ?

n°1555795
Neo_007
Toujours copié.. Jamais egalé!
Posté le 05-05-2007 à 18:31:56  profilanswer
 

oui c bien ca

n°1555802
Neo_007
Toujours copié.. Jamais egalé!
Posté le 05-05-2007 à 18:38:11  profilanswer
 

Donc maintenant ce donne ca :
 
 

Code :
  1. const char CARD_SUCC[14]= {0xFF,0x0E,0xA3,0x08,0xF8,0x82,0x65,0x08,0xF8,0x82,0x65,0xFF,0x08,0x63};
  2. char a;
  3. char b;
  4. char i;
  5. i=0;
  6. b=0;
  7. while(b==0 && i<14)
  8.        {a=getc(RFID);
  9.          b=a^CARD_SUCC[i];
  10.          i=i++
  11.        }
  12. if(i==14 && b==0)
  13.     {delay_ms(1000);
  14.      putc(0xAA,RFID);
  15.     }
  16. else
  17.     {delay_ms(2000);
  18.      putc(0xAA,RFID);
  19.     }
  20. while(1)
  21. {}


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  [C] petit programme qui fonctionne pas.....

 

Sujets relatifs
Vérifier la présence d'un programme localPhp fonctionne en local mais pas sur Internet
[MySQL] Requête avec jointure qui fonctionne pas avec MySQL5[Python] Packager un programme
programme qui se déclenche automatiquement[java] "petit" problème à l'exécution
mysql_query qui ne fonctionne pasRecherche alphabétique (petit problème avec les chiffres)
Pb onmouseover ne fonctionne pasBesoin d'aide pour ce programme
Plus de sujets relatifs à : [C] petit programme qui fonctionne pas.....


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR