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

menu