[SYNTAXE] "bagotter" "inverser" "clignoter" une led [Forums - Astuces]
[SYNTAXE] "bagotter" "inverser" "clignoter" une led [Forums - Astuces]
Pseudo Pass se souvenir de moi     Créer un compte
ARTICLES et TELECHARGEMENTS ~ FORUMS ~ LIENS  
 
             
 
Recherche
 
   
 

Parcourir ce sujet :   1 Utilisateur(s) anonymes





[SYNTAXE] "bagotter" "inverser" "clignoter" une led
Pilier de la communauté
Inscrit:
23/10/2005 11:40
De Aix les Bains (73)
Messages: 1930
Hors Ligne
Bonjour

Première astuce pour inverser un bit par exemple

Si on souhaite faire clignoter une led qui est reliée sur le port G2 on peut écrire :
if (PTGD_PTGD2 == 1){
PTGD_PTGD2 == 0;
}
else{
PTGD_PTGD2 == 1;
}


il est beaucoup plus simple d'écrire :
PTGD_PTGD2 ^= ;
Cela fera la même chose

Posté le : 23/08/2011 22:01

Edité par petitours sur 24/08/2011 08:48:20
Mieux vaut marcher dans la bonne direction que courir dans la mauvaise
Transférer la contribution vers d'autres applications Transférer


Re: [SYNTAXE] "bagotter" "inverser" "clignoter" une led
Pilier de la communauté
Inscrit:
27/09/2005 18:07
De Metz
Messages: 1335
Hors Ligne
Personnellement, j'aurais écrit:
PTGD_PTGD2  = !PTGD_PTGD2;


Je trouve qu'à la lecture, le sens de l'instruction est plus clair ainsi.

Jacques

PS: pitié les gars, ôtez cet affreux h à syntaxe

Posté le : 24/08/2011 00:27

Edité par petitours sur 24/08/2011 08:48:32
Transférer la contribution vers d'autres applications Transférer


Re: [SYNTAXE] "bagotter" "inverser" "clignoter" une led
Modérateur
Inscrit:
24/09/2005 13:30
De 04110 - VACHERES- FRANCE
Messages: 1497
Hors Ligne
Allez, allez, ne vous battez pas, ça fait DEUX astuces !!!

Yvan

Posté le : 24/08/2011 07:16

Edité par petitours sur 24/08/2011 08:48:54
Le houblon, c'est bon pour la récupération.
Transférer la contribution vers d'autres applications Transférer


Re: [SYNTAXE] "bagotter" "inverser" "clignoter" une led
Pilier de la communauté
Inscrit:
23/10/2005 11:40
De Aix les Bains (73)
Messages: 1930
Hors Ligne
C'est une astuce dans la mesure où j'ai perso utilisé la version longue pendant des années... Et je serais surpris s'il n'y a pas d'autres débutants qui font pareil !

Posté le : 24/08/2011 08:51
Mieux vaut marcher dans la bonne direction que courir dans la mauvaise
Transférer la contribution vers d'autres applications Transférer


Re: [SYNTAXE] "bagotter" "inverser" "clignoter" une led
Pilier de la communauté
Inscrit:
27/09/2005 18:07
De Metz
Messages: 1335
Hors Ligne
Tout à fait d'accord, d'autant que le code généré par ton instruction est le même que celui de la mienne et fait appel à un OU exclusif.

Au lecteur de choisir celui qui lui semble la plus naturelle pour lui.

Jacques

Posté le : 24/08/2011 10:15
Transférer la contribution vers d'autres applications Transférer


Re: [SYNTAXE] "bagotter" "inverser" "clignoter" une led
Accro
Inscrit:
06/07/2007 09:17
Messages: 697
Hors Ligne
Plop
Je ne suis pas puriste mais je vais quand même vous donner mon avis.

PTGD_PTGD2 ^= ;


ou

PTGD_PTGD2  = !PTGD_PTGD2 ;


Nous savons que ces 2 codes donnent le même résultats.

Cependant, il faut penser à la lisibilité du code pour les ptits copains (suivant leur niveaux de C)... donc je préfère la deuxième solution.

Concernant l'autre code (avec mon écriture):


if (PTGD_PTGD2 == 1)
   {
   
PTGD_PTGD2 ;  // err pas "=="
   
}
   else
   {
   
PTGD_PTGD2 // err pas "=="
   
}


Il est plus lourd pour le CPU, cependant il permet d'identifier dans qu'elle situation se trouve le port, donc de pouvoir réagir en conséquence...

Sinon il y a ceci
((PTGD_PTGD2)?0 : 1) ;

@++
FDU

Posté le : 24/08/2011 10:42
Transférer la contribution vers d'autres applications Transférer


Re: [SYNTAXE] "bagotter" "inverser" "clignoter" une led
Modérateur
Inscrit:
24/09/2005 13:30
De 04110 - VACHERES- FRANCE
Messages: 1497
Hors Ligne
Tout se discute, mais le !PTG, faut bien faire gaffe à pas lire un 'I' à la place du '!'...

Yvan, adepte du '^='

Posté le : 24/08/2011 12:05
Le houblon, c'est bon pour la récupération.
Transférer la contribution vers d'autres applications Transférer


Re: [SYNTAXE] "bagotter" "inverser" "clignoter" une led
Pilier de la communauté
Inscrit:
13/10/2005 10:06
De haute-savoie (74)
Messages: 1164
Hors Ligne
allez,

encore une autre façon de faire :
PTGD_PTGD0 = ~PTGD_PTGD0;


a+
Stéphane

Posté le : 29/08/2011 17:31
Transférer la contribution vers d'autres applications Transférer


Re: [SYNTAXE] "bagotter" "inverser" "clignoter" une led
Pilier de la communauté
Inscrit:
23/10/2005 11:40
De Aix les Bains (73)
Messages: 1930
Hors Ligne
Il est clair maintenant que celui qui utilise le if...else est un boulet !

Bon, et vous les programmeurs experts, vous n'en avez pas des astuces ? Elles sont devenus tellement banales pour vous que vous n'arrivez plus à vous émerveiller de ce que vous faites ?


Posté le : 29/08/2011 21:52
Mieux vaut marcher dans la bonne direction que courir dans la mauvaise
Transférer la contribution vers d'autres applications Transférer



 Haut   Précédent   Suivant



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Powered by XOOPS© The XOOPS Project
Contacter les administrateurs

[SYNTAXE] "bagotter" "inverser" "clignoter" une led [Forums - Astuces]