Go Down

Topic: Leitura de variável na mudança de estado (Read 173 times) previous topic - next topic

Daniel_Sampaio

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á.

luisilva

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.

bubulindo

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.

Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

Daniel_Sampaio

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.

bubulindo

Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

Go Up