LusoRobótica - Robótica em Português
Sistemas específicos => Arduino / AVR => Tópico iniciado por: luisjustin em 10 de Junho de 2013, 22:14
-
Olá galera estou pensando em criar um sistema para minha placa de reles, mas que não interfira em outras funções que ela faça por isso tenho que saber como fazer rodar múltiplas funções ao mesmo tempo um Multithreading! Se alguem souber me ajude.
-
Não tens propriamente multithreading, o que tens de fazer é ir alternando entre as várias coisas que queres fazer...
Quais são exactamnte as coisas que queres fazer ao memso tempo?
-
De outro tópico:
A cena do preemptiva tens aqui estes artigos, o 2º só tenho em Inglês:
http://troniquices.wordpress.com/2010/05/24/arduino-a-fazer-varias-coisas-ao-mesmo-tempo/ (http://troniquices.wordpress.com/2010/05/24/arduino-a-fazer-varias-coisas-ao-mesmo-tempo/)
http://embeddeddreams.com/site/2011/07/23/more-on-doing-several-things-at-the-same-time (http://embeddeddreams.com/site/2011/07/23/more-on-doing-several-things-at-the-same-time)
-
Sim, o que quero fazer eu tenho uma placa de reles e ela sempre tem que receber o comando e executar e um dos comandos é um timer para dizer quanto tempo um dos reles vai ficar ligado, mas na hora que começar a contagem ela vai para de receber os outros comandos ou ela vai anular o que está sendo contado, mas quero que ela possa fazer tudo simultaneamente.
-
Sim, o que quero fazer eu tenho uma placa de reles e ela sempre tem que receber o comando e executar e um dos comandos é um timer para dizer quanto tempo um dos reles vai ficar ligado, mas na hora que começar a contagem ela vai para de receber os outros comandos ou ela vai anular o que está sendo contado, mas quero que ela possa fazer tudo simultaneamente.
Neste caso o ideal é usares interrupções.
-
Poderia me explicar _metro ?
-
Não é que interrupções sejam nada do outro mundo, mas para o que tu queres fazer não me parece necessário.
Pelo que percebi queres por um timer a correr e ir fazendo enquanto outras coisas enquanto ele não dispara...
Se usasses um delay(1000) por ex aí sim o programa parava durante 1 segundo e não fazia mais nada sem ser as interrupções.
Mas podes usar a função millis() para ir vendo quanto tempo já passou, quando já tiver passado tempo suficiente activas então o relé. Desta forma dá para ir vendo outras coisas ao mesmo tempo, não ficas bloqueado nos delays.
-
Fugindo um pouco do assunto tem como fazer o Arduíno pegar o numero de quem está me ligando ? vamos dizer eu atendo o telefone ele pega o numero e passar para o programa já pesquisar o cadastro ? existe como ? o telefone aqui é linha normal RJ11. Existe possibilidades ?