LusoRobótica - Robótica em Português
Sistemas específicos => Arduino / AVR => Tópico iniciado por: LuísR.A. em 07 de Agosto de 2012, 11:26
-
ja perguntei antes como fazer multitask com o arduino e disseram-me para usar interrupts mas nunca usem isso e não sei mesmo como usar.
alguem me pode dar um exemplo simples de um codigo que faça:
Meter um led a piscar a um ritmo constante durante o codigo todo.
Poder continuar a fazer um codigo sem problemas como ter motores a andar num sentido e depois alterar o sentido ou iniciar um sonar.
-
Eu por acaso tenho código de multitask para AVR mas ainda não está acabado.
Vais ter de usar um timer para gerar interrupções no tempo costante e na função ligada a interrupção fazer toggle do pino.
Tens aqui informação de fazer isso com arduino aqui: http://arduino.cc/playground/Code/Timer1 (http://arduino.cc/playground/Code/Timer1) .
Edited: Ou então isto: http://lusorobotica.com/index.php?topic=2370.msg23230#msg23230 (http://lusorobotica.com/index.php?topic=2370.msg23230#msg23230)
Cumps :D
-
se calhar com um timer consegues fazer isso:
http://arduino.cc/playground/Code/Timer1 (http://arduino.cc/playground/Code/Timer1)
Vê se ajuda
-
Ou com isto:
http://embeddeddreams.com/site/2011/07/10/how-to-do-several-things-at-the-same-time/ (http://embeddeddreams.com/site/2011/07/10/how-to-do-several-things-at-the-same-time/)
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)
-
obrigado pela ajuda de todos. o truque dos leds ja usava para contar o tempo no picaxe.
os timers do arduino tenho de ver melhor que são diferentes do que tou habituado.
-
Podes olhar para o exemplo Blinky without delay que recorre ao milis() para executar coisas com tempos definidos, desde que o teu código não bloqueie e não tiveres uma parte que possa demorar demasiado tempo, tens execução com tempos garantidos.