Projetos Eletrônica: Como usar loops no código PBASIC
O loop DO em PBASIC pode fazer programação do BASIC Stamp em seus produtos eletrônicos projetar um pouco mais compacto. o FAZ laço é uma indicação PBASIC especial que executa essencialmente a mesma função que um rótulo e uma VAMOS PARA declaração. Por exemplo, considere o seguinte:
Principal: ALTA 0PAUSE 500LOW 0PAUSE 500GOTO principal
A mesma função pode ser realizado sem a a Principal rótulo ou a VAMOS PARA declaração, colocando as linhas que ligam o LED on e off entre FAZ e LOOP declarações, como este:
DOHIGH 0PAUSE 500LOW 0PAUSE 500LOOP
As linhas entre o FAZ e LOOP declarações será executada uma e outra vez indefinidamente.
'LED Programa de pisca-pisca "Doug Lowe' 10 de julho de 2011 '' Este programa pisca LEDs conectados a pinos 0, 2, 4, 6, 8 e 10 'em sequência.' 'Esta versão do programa usa um loop DO.' {$ PBASIC 2,5} '{$ SELO BS2} velocidade VAR BYTELed VAR BYTESpeed = 50Led = 0DOHIGH LedPAUSE SpeedLOW LedPAUSE SpeedIF Liderados lt; 10 THENLed = Led + 2ELSELed = 0ENDIFLOOP
Você pode adicionar um teste condicional ao LOOP declaração a fazer o loop condicional. Por exemplo:
Liderados = 0DOHIGH LedPAUSE 500LOW LedPAUSE 500Led = Led + 2LOOP até que o 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 é brilhou, o próximo-a-última linha define o Conduziu variável para 12. Em seguida, o loop até declaração vê que Conduziu é maior do que 10, por isso, parar de rodar.
Em vez da palavra ATÉ, você pode usar a palavra ENQUANTO para assinalar a condição de FAZ loop. Há uma diferença substancial entre ATÉ e ENQUANTO, ea diferença é apenas que as palavras sugerem. Quando você usa a palavra ATÉ, o loop será executado até que a condição testa verdadeiro. Quando você usa a palavra ENQUANTO, o loop será executado até que a condição testa falsa.
Note que você também pode incluir o teste de condição no FAZ declaração ou na LOOP declaração. Se você colocar o teste de condição no FAZ declaração, a condição é testada antes cada execução do ciclo. Se você colocá-lo na LOOP declaração, a condição é testada depois de a conclusão de cada loop.
É comum colocar ENQUANTO ensaios efectuados com a FAZ declaração e ATÉ ensaios efectuados com a LOOP declaração.
Liderados = 0DO enquanto LED lt; 11HIGH LedPAUSE 500LOW LedPAUSE 500Led = Led + 2LOOP
Aqui, o valor de Conduziu é testado antes de cada execução do ciclo. O laço é executado enquanto Conduziu é inferior a 11.
FAZ laços podem ser aninhado, o que significa que um FAZ loop pode conter outro FAZ loop. Quando FAZ loops são aninhados, o loop interno deve ter um teste condicional. Caso contrário, ele ficará em laço para sempre, e o laço externo nunca terá a chance de completar.
Neste programa, o mais íntimo FAZ ciclo pisca os seis LEDs uma vez. Ele usa um ATÉ condição para parar o loop após o último LED brilhou. a mais externa FAZ loop continua sem parar, fazendo com que a sequência de piscar para continuar indefinidamente.
'LED Programa de pisca-pisca "Doug Lowe' 10 de julho de 2011 '' Este programa pisca LEDs conectados a pinos 0, 2, 4, 6, 8 e 10 'em sequência.' 'Esta versão do programa usa loops aninhados.' {$ PBASIC 2,5} '{$ SELO BS2} velocidade VAR BYTELed VAR BYTESpeed = 50DOLed = 0DOHIGH LedPAUSE SpeedLOW LedPAUSE SpeedLed = Led + 2LOOP até que o LED> 10LOOP