Le forum a migré vers l'adresse suivante:

Forum

Masquer ce message

Simple-Duino Index du Forum



[Résolu] Pourquoi je n'aime pas beaucoup la fonction delay


 
Poster un nouveau sujet   Répondre au sujet    Simple-Duino Index du Forum -> Arduino & Électronique -> Tutos
Sujet précédent :: Sujet suivant  
Auteur Message
zagenois
Débutant

Hors ligne

Inscrit le: 10 Juil 2014
Messages: 7
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Dim 13 Juil - 10:52 (2014)    Sujet du message: [Résolu] Pourquoi je n'aime pas beaucoup la fonction delay Répondre en citant

PublicitéSupprimer les publicités ?
Bonjour,chers Arduinautes :
aujourd’hui je vous montre pourquoi je n'aime pas trop la fonction « delay. »

Imaginez qu'un maçon monte un mur et que son aide lui apporte les briques.
Deux actions bien distinctes dans le temps se déroulent .Il y a bien deux boucles de travail.

La première boucle c'est l'action du maçon. La deuxième est l'action de l'aide.

Si le maçon prend une pause (delay) le tas de brique a sa disposition va monter mais
LE MUR NE MONTE PLUS !
Si l'aide prend une pause LE MUR NE MONTE PLUS par manque de brique.

Hors un programme informatique doit TOURNER !
Voici un exemple tiré de mon programme de réception infrarouge que j'ai écrit sans apport
de librairie et qui montre une manière d'écrire (il y a sûrement mieux)

/*=========================================================*/
/* Boucle de rception code NEC */
/*=========================================================*/

void loop()
{
if (Xrec==34){Xrec=0;Fin();}//si Index est a 34 on a rempli 34 cases (0 à 73)
if (marque==true){marque=false;//si marque on a un changement d'etat
List[Xrec]=(micros()-OldTime);++Xrec;//tout ceci prend quelques microsecondes
OldTime=micros();}
if(Xrec-1==1){if(List[1]>13400&List[1]<14600){}else{--Xrec;}}
//le second signal d'une trame 0v dans mon montage
//est de 4500µs total 13500µs

La partie au dessus est de la cuisine qui mesure les impulsions reçues.La fonction
fin de réception est lancée par la commande Fin() à la première ligne et enchaînera des actions
dont nous parlerons plus tard si cela vous intéresse.

Tps50=Tps50+(millis()-HeurPass);HeurPass=millis();
if (Tps50>=10){Monit50();Tps50=0;} //lance moniteur


}
La partie ci dessus rejoint notre sujet
Elle lance une deuxième boucle dans la fameuse loop() à intervalle de temps
Dans cette nouvelle boucle nous pourrons mesurer et agir sur toute les commandes
qui seront nécessaire à l'application.
Merci de votre attention !!
____________________________
Arduino c'est du gâteau à condition de bien remuer la sauce blanche du cerveau
Revenir en haut
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 20:09 (2017)    Sujet du message: [Résolu] Pourquoi je n'aime pas beaucoup la fonction delay

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Simple-Duino Index du Forum -> Arduino & Électronique -> Tutos Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  

Index | creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Powered by phpBB
Propulsé par Simple-Duino