Leitura de variável na mudança de estado

Olá pessoal, estou com um problema no meu projeto, preciso fazer com que um botão execute uma função no programa independente da parte da programação que esteja sendo executada.

Certa vez, li um artigo sobre um método de ler a variável somente quando houver mudança em seu valor e, independente de qual função esteja sendo executada no programa, o programa para a execução do programa principal, e começa a executar a função que foi programada na mudança da variável, depois volta a executar o programa principal aonde parou.

Para facilitar o entendimento do meu problema, vamos supor uma situação em eu tenha 2 leds e um botão, normalmente um dos leds acende durante 500 ms e depois apaga durante 1000 ms, porém, ao pressionar o botão, o outro led acende, independente do que ocorre na primeira situação, sem interromper a programação do primeiro led.

agradeço desde já.

Isso pode ser feito através de interrupção.
Para o exemplo que descreve, que é muito simples, ainda pode ser feito de outra forma: um programa baseado no exemplo BlinkWithoutDelay.

O titulo do post é um pouco enganador...

O exemplo que o luis apontou indica como fazer temporizações correctamente e para fazeres o que é referido no titulo precisas de detectar mudança de estado, ou configurar uma interrupção.

Luis, entendi a ideia do BlinkWithoutDelay, vou tentar utiliza-la, obrigado.

bubu, realmente minha ideia inicial era interromper durante uma mudança de estado, mas se este outro método resolver minha situação, já esta bom.

Ok, experimenta e vê se resulta. :slight_smile: