Bonjour à tous,
Voila me revoila pour de nouvelle questions !!!!!!
Je viens de faire un programme pour un atmega8535,
Le principe de ce programme est de compter le nombre de Porte ouverte
(c'est un programme d'essaie)
Hors quand je le fais tourné, un problême bizard vien à se produire,
Ci vous voulai une ne fais rien si toute les porte sont fermé et que je lance le programme il ne detecte rien et pendant l'instruction du programme si je bouge les niveau des porte pour dire qu'elles sont ouverte il ne fait toujour rien
Maisssss, VOila par contre si par exemple j'ouvre deux portes et que je fais un Reset alors il va bien me compté le nombre de porte
On dirai que le programme ne boucle pas
Voici le programme testCode:do { unsigned char Masque, p ; p=0; Masque=(PINB & 0x0F); if ( (Masque & 0x01) == 0x01) {++ p;} else if ( (Masque & 0x01) == 0x00) {p=p;} if ( (Masque & 0x02) == 0x02) {++ p;} else if ( (Masque & 0x02) == 0x00) {p=p;} if ( (Masque & 0x04) == 0x04) {++ p;} else if ( (Masque & 0x04) == 0x00) {p=p;} if ( (Masque & 0x08) == 0x08) {++ p;} else if ( (Masque & 0x08) == 0x00) {p=p;} switch (p) { case 1 : { aff_ligne0(" 1 "); aff_ligne1(" 1 "); } break; case 2 : { aff_ligne0(" 2 "); aff_ligne1(" 2 "); } break; case 3 : { aff_ligne0(" 3 "); aff_ligne1(" 3 "); } break; case 4 : { aff_ligne0(" 4 "); aff_ligne1(" 4 "); } break; default : { aff_ligne0(" 0 "); aff_ligne1(" 0 "); } } } while(1); }
PS: je les même fais avec une boucle for(; et sa ne fonctionne toujours pas on dirai que soit mon programme ne reboucle pas soit il ne sais pas ou rebouclé
Je trouve sa assé intrigant surtout que je n'ai jamais eu se problême sur la boucle do while pour que le programme reboucle
Merci d'avance pour votre aide
Cordialement Paulochon
J'ai changé ta balise quote pour une balise code. Comme ça on garde l'indentation
Jack
-----