Vídeo: Dica rápida, como organizar o código fonte de arduino em 2 clicks 2024
O loop DO no PBASIC pode tornar a programação do BASIC Stamp em seu projeto de eletrônicos um pouco mais compacta. O loop DO é uma declaração PBASIC especial que desempenha essencialmente a mesma função que um rótulo e uma declaração GOTO. Por exemplo, considere o seguinte:
Principal: ALTO 0 PAUSA 500 BAIXO 0 PAUSA 500 GOTO Principal
A mesma função pode ser realizada sem o rótulo principal ou a declaração GOTO colocando as linhas que ativam e desativam o LED entre as instruções DO e LOOP, assim:
DO HIGH 0 PAUSE 500 BAIXO 0 PAUSE 500 LOOP
As linhas entre as instruções DO e LOOP serão executadas uma e outra vez indefinidamente.
'Programa LED Flasher' Doug Lowe '10 de julho de 2011 "Este programa pisca LEDs conectados aos pinos 0, 2, 4, 6, 8 e 10' em sequência." Esta versão do programa usa um loop DO. '{$ PBASIC 2. 5}' {$ STAMP BS2} Velocidade VAR BYTE Led VAR BYTE Velocidade = 50 Led = 0 DO HIGH Led PAUSE Velocidade LOW Led PAUSE Velocidade IF Led <10 tHEN Led = Led + 2 ELSE Led = 0 ENDIF LOOP
Você pode adicionar uma prova condicional à instrução LOOP para fazer o loop condicional. Por exemplo:
Led = 0 DO HIGH Led PAUSE 500 LOW Led PAUSE 500 Led = Led + 2 LOOP ATÉ Led> 10
Este código irá piscar os LEDs nos pinos 0, 2, 4, 6, 8 e 10. Depois que o LED no pino 10 é piscado, a linha seguinte passa a variável Led para 12. Então, a instrução LOOP UNTIL vê que Led é maior do que 10, então ele pára o loop.
Em vez da palavra ATÉ, você pode usar a palavra WHILE para marcar a condição em um loop DO. Há uma diferença substancial entre ATÉ e QUALQUER, e a diferença é exatamente como as palavras sugerem. Quando você usa a palavra UNTIL, o loop será executado até que a condição seja verdadeira. Quando você usa a palavra WHILE, o loop será executado até que a condição seja falsa.
Observe que você também pode incluir o teste de condição na declaração DO ou na instrução LOOP. Se você colocar o teste de condição na declaração DO, a condição é testada antes de cada execução do loop. Se você colocá-lo na instrução LOOP, a condição é testada após a conclusão de cada loop.
É comum colocar WHILE testes na declaração DO e ATÉ testes na declaração LOOP.
Led = 0 DO WHILE Led <11 HIGH Led PAUSE 500 LOW Led PAUSE 500 Led = Led + 2 LOOP
Aqui, o valor de Led é testado antes de cada execução do loop. O loop é executado enquanto Led for menor que 11.
Os loops DO podem ser aninhados , o que significa que um loop DO pode conter outro loop DO.Quando os loops DO são aninhados, o loop interno deve ter um teste condicional. Caso contrário, ele irá loop para sempre, e o loop externo nunca terá a chance de completar.
Neste programa, o loop DO mais interno pisca os seis LEDs uma vez. Ele usa uma condição UNTIL para parar o loop após o último LED ter piscado. O loop DO mais externo continua infinitamente, fazendo com que a sequência piscante continue indefinidamente.
'Programa LED Flasher' Doug Lowe '10 de julho de 2011 "Este programa pisca LEDs conectados aos pinos 0, 2, 4, 6, 8 e 10' em sequência." Esta versão do programa usa loops aninhados DO. '{$ PBASIC 2. 5}' {$ STAMP BS2} Velocidade VAR BYTE Led VAR BYTE Velocidade = 50 DO Led = 0 DO HIGH Led PAUSE Velocidade LOW Led PAUSE Velocidade Led = Led + 2 LOOP ATÉ led> 10 LOOP