Projets électroniques: comment utiliser font des boucles dans le code PBASIC

La boucle DO en PBASIC peut faire de la programmation du BASIC Stamp dans vos appareils électroniques projettent un peu plus compact. La FAIRE boucle est une instruction spéciale PBASIC qui effectue essentiellement la même fonction en tant que marqueur et un ALLER À déclaration. Par exemple, considérez ce qui suit:

Principal: HIGH 0PAUSE 500LOW 0PAUSE 500GOTO principale

La même fonction peut être accomplie sans le Principal étiquette ou la ALLER À déclaration en plaçant les lignes qui transforment la LED sur et en dehors entre FAIRE et LOOP déclarations, comme ceci:

DOHIGH 0PAUSE 500LOW 0PAUSE 500LOOP

Les lignes entre la FAIRE et LOOP déclarations seront exécutés maintes et maintes fois indéfiniment.

'LED Programme Flasher "Doug Lowe' 10 Juillet, 2011 '' Ce programme clignote LED connecté à broches 0, 2, 4, 6, 8, et 10 'dans l'ordre.' 'Cette version du programme utilise une boucle DO. {$ PBASIC 2.5} {$ STAMP BS2} Vitesse VAR BYTELed VAR BYTESpeed ​​= 50 LED = 0DOHIGH LedPAUSE SpeedLOW LedPAUSE SpeedIF Led lt; 10 THENLed = Led + 2ELSELed = 0ENDIFLOOP

Vous pouvez ajouter un test conditionnel à la LOOP déclaration à faire la boucle conditionnelle. Par example:

Led = 0DOHIGH LedPAUSE 500LOW LedPAUSE 500Led = Led + 2LOOP que la DEL> 10

Ce code va clignoter les voyants sur les broches 0, 2, 4, 6, 8 et 10. Après la LED sur la broche 10 est flashé, l'avant-dernière ligne définit le Del variable 12. Ensuite, le BOUCLE JUSQU'À déclaration voit que Del est supérieur à 10, de sorte qu'il cesse de bouclage.

Au lieu du mot JUSQU'À, vous pouvez utiliser le mot TANDIS QUE pour marquer la condition dans un FAIRE boucle. Il ya une différence substantielle entre JUSQU'À et TANDIS QUE, et la différence est tout aussi suggèrent les mots. Lorsque vous utilisez le mot JUSQU'À, la boucle va exécuter tant que la condition est testé vrai. Lorsque vous utilisez le mot TANDIS QUE, la boucle va exécuter tant que la condition teste faux.

Notez que vous pouvez également inclure le test de condition sur la FAIRE déclaration ou sur le LOOP déclaration. Si vous passez le test de condition sur la FAIRE déclaration, la condition est testée avant chaque exécution de la boucle. Si vous le placez sur le LOOP déclaration, la condition est testée après la fin de chaque boucle.


Il est commun de placer TANDIS QUE des essais sur le FAIRE déclaration et JUSQU'À des essais sur le LOOP déclaration.

Led = 0DO tandis que la LED lt; 11HIGH LedPAUSE 500LOW LedPAUSE 500Led = Led + 2LOOP

Ici, la valeur de Del est testée avant chaque exécution de la boucle. La boucle est exécutée aussi longtemps que Del est inférieur à 11.

FAIRE boucles peuvent être nichée, ce qui signifie que l'on FAIRE boucle peut contenir un autre FAIRE boucle. Quand FAIRE boucles sont imbriquées, la boucle interne doit avoir un test conditionnel. Sinon, il fera une boucle pour toujours, et la boucle extérieure ne pourra jamais avoir une chance de terminer.

Dans ce programme, le plus à l'intérieur FAIRE boucle clignote les six LED fois. Il utilise une JUSQU'À état pour arrêter la boucle après la dernière LED a clignoté. Le plus à l'extérieur FAIRE boucle se poursuit sans cesse, provoquant la séquence de clignotement de continuer indéfiniment.

'LED Programme Flasher "Doug Lowe' 10 Juillet, 2011 '' Ce programme clignote LED connecté à broches 0, 2, 4, 6, 8, et 10 'dans l'ordre.' 'Cette version du programme utilise FAIRE boucles imbriquées. {$ PBASIC 2.5} {$ STAMP BS2} Vitesse VAR BYTELed VAR BYTESpeed ​​= 50DOLed = 0DOHIGH LedPAUSE SpeedLOW LedPAUSE SpeedLed = Led + 2LOOP que la DEL> 10LOOP

» » » » Projets électroniques: comment utiliser font des boucles dans le code PBASIC