Vidéo: Introduction à l'Arduino ! - Vlog Bricolage #7 2024
La boucle DO dans PBASIC peut rendre la programmation du BASIC Stamp dans votre projet électronique un peu plus compacte. La boucle DO est une instruction PBASIC spéciale qui remplit essentiellement la même fonction qu'une étiquette et une instruction GOTO. Par exemple, tenez compte des éléments suivants:
Principal: ÉLEVÉ 0 PAUSE 500 BAS 0 PAUSE 500 GOTO Main
La même fonction peut être accomplie sans l'étiquette principale ou l'instruction GOTO en plaçant les lignes qui allument et éteignent la DEL entre les instructions DO et LOOP, comme ceci:
DO HIGH 0 PAUSE 500 LOW 0 PAUSE 500 LOOP
Les lignes entre les instructions DO et LOOP seront exécutées indéfiniment indéfiniment.
Programme LED Flasher 'Doug Lowe' 10 juillet 2011 "Ce programme fait clignoter les LED connectées aux pins 0, 2, 4, 6, 8 et 10 '." Cette version du programme utilise une boucle DO. '{$ PBASIC 2. 5}' {$ STAMP BS2} Vitesse VAR BYTE Led VAR BYTE Vitesse = 50 Led = 0 DO HIGH Led PAUSE Vitesse LOW Led PAUSE Vitesse IF Led <10 tHEN Led = Led + 2 ELSE Led = 0 ENDIF LOOP
Vous pouvez ajouter un test conditionnel à l'instruction LOOP pour rendre la boucle conditionnelle. Par exemple:
Led = 0 DO HIGH Led PAUSE 500 LOW Led PAUSE 500 Led = Led + 2 LOOP jusqu'à Led> 10
Ce code va faire clignoter les LED sur les pins 0, 2, 4, 6, 8, et 10. Après le clignotement de la LED sur la broche 10, l'avant-dernière ligne définit la variable Led sur 12. Ensuite, l'instruction LOOP UNTIL voit que Led est supérieure à 10, donc elle arrête de boucler.
Au lieu du mot UNTIL, vous pouvez utiliser le mot WHILE pour marquer la condition dans une boucle DO. Il y a une différence substantielle entre UNTIL et WHILE, et la différence est juste comme les mots le suggèrent. Lorsque vous utilisez le mot UNTIL, la boucle s'exécute jusqu'à ce que la condition teste true. Lorsque vous utilisez le mot WHILE, la boucle s'exécute jusqu'à ce que la condition teste false.
Notez que vous pouvez également inclure le test de condition sur l'instruction DO ou sur l'instruction LOOP. Si vous placez le test de condition sur l'instruction DO, la condition est testée avant à chaque exécution de la boucle. Si vous le placez sur l'instruction LOOP, la condition est testée après l'achèvement de chaque boucle.
Il est courant de placer des tests WHILE sur l'instruction DO et des tests UNTIL sur l'instruction LOOP.
Led = 0 FAIRE Tandis que Led <11 hIGH Led PAUSE 500 LOW Led PAUSE 500 Led = Led + 2 LOOP
Ici, la valeur de Led est testée avant chaque exécution de la boucle. La boucle est exécutée tant que Led est inférieure à 11.
Les boucles DO peuvent être imbriquées , ce qui signifie qu'une boucle DO peut contenir une autre boucle DO.Lorsque les boucles DO sont imbriquées, la boucle interne doit avoir un test conditionnel. Sinon, il bouclera pour toujours, et la boucle externe n'aura jamais une chance de se terminer.
Dans ce programme, la boucle DO la plus interne fait clignoter les six LED une fois. Il utilise une condition UNTIL pour arrêter la boucle après que la dernière LED a clignoté. La boucle DO la plus externe continue indéfiniment, ce qui entraîne la poursuite de la séquence clignotante indéfiniment.
Programme LED Flasher 'Doug Lowe' 10 juillet 2011 "Ce programme fait clignoter les LED connectées aux pins 0, 2, 4, 6, 8 et 10 '." Cette version du programme utilise des boucles DO imbriquées. '{$ PBASIC 2. 5}' {$ STAMP BS2} Vitesse VAR BYTE Led VAR BYTE Vitesse = 50 DO Led = 0 DO HIGH Led PAUSE Vitesse LOW Led PAUSE Vitesse Led = Led + 2 LOOP JUSQU'A LED> 10 LOOP