slt a tous
Je suis entrain de concevoir un programme pour commander un module par liaison série rs232 ,j'utilise un pic 18f2685
le problème est que je n'arrive pas a comparer 2 variables de type char le programme tourne en boucle sans faire la comparaison.j'ai l'impression que le pic ne prend pas en compte les variables de type char.Je veux que quand je reçois des infos sur la broche RX par exemple OK, il soit affecter a une variable puis comparer avec la valeur que je veux .
extrait du programme:
Code:#include <18F2685.h> #fuses HS,NOWDT,NOPROTECT,NOLVP #use delay(clock=20000000) #use RS232(baud=115200, xmit=PIN_C6, rcv=PIN_C7) void main (void) { char var[]; do { output_high(pin_A0); //allumer led rouge delay_ms(100); //pause de 100ms output_low(pin_A0); //éteindre led rouge delay_ms(100); //pause de 100ms puts("AT"); // envoi de commande AT gets(var); // réception d'une chaine de caractère et enregistrement dans variable var } while (var!="OK"); //répéter tant que var différent de OK output_high(pin_A2); //allumage led verte si var=OK while(1) { puts("AT+CGMM=?"); //test Identification modèle puts("AT+CGMR=?"); //test Identification version puts("AT+CPAS?"); // test État d’activité du module .......
-----