Le forum a migré vers l'adresse suivante:

Forum

Masquer ce message

Simple-Duino Forum Index



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


 
Post new topic   Reply to topic    Simple-Duino Forum Index -> Arduino & Électronique -> Tutos
Previous topic :: Next topic  
Author Message
zagenois
Débutant

Offline

Joined: 10 Jul 2014
Posts: 7
Masculin
Niveau d'éléctronique: Intermédiaire

PostPosted: Sun 13 Jul - 10:52 (2014)    Post subject: [Résolu] Pourquoi je n'aime pas beaucoup la fonction delay Reply with quote

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
Back to top
Contenu Sponsorisé






PostPosted: Today at 12:07 (2019)    Post subject: [Résolu] Pourquoi je n'aime pas beaucoup la fonction delay

Back to top
Display posts from previous:   
Post new topic   Reply to topic    Simple-Duino Forum Index -> Arduino & Électronique -> Tutos All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  

Index | Xooit.com free forum | Free support forum | Free forums directory | Report a violation | Conditions générales d'utilisation
Powered by phpBB
Propulsé par Simple-Duino