LusoRobótica - Robótica em Português

Sistemas específicos => Arduino / AVR => Tópico iniciado por: brunomartins em 04 de Maio de 2009, 18:52

Título: Duvida Arduino
Enviado por: brunomartins em 04 de Maio de 2009, 18:52
Tem algum programa que podemos debugar o código feito para o arduino?

Por exemplo, tenho um código x que está acontecendo um erro que não consigo visualizar, queria debugar linha a linha..


uma outra dúvida é se podemos executar o programa sem a necessidade de estar com o arduino ligado no pc....

vlws..
Título: Re:Duvida Arduino
Enviado por: metRo_ em 04 de Maio de 2009, 18:57
Tem algum programa que podemos debugar o código feito para o arduino?

Por exemplo, tenho um código x que está acontecendo um erro que não consigo visualizar, queria debugar linha a linha..


uma outra dúvida é se podemos executar o programa sem a necessidade de estar com o arduino ligado no pc....

vlws..

Através da comunicação serie podes fazer algo que te ajude a perceber o que se está a passar como por exemplo:
Código: [Seleccione]
int var=0;
void setup(){
Serial.begin(6900);
}

void loop(){
var = 0;
Serial.println(var);
var = 1;
Serial.println(var);
var = 2;
Serial.println(var);
var = 3;
Serial.println(var);
}

isto permite ver numa consola o estado da variavel var.

Quanto à questão não entendi muito bem a ideia, mas o programa quando é enviado para o arduino, podes retirar o arduino do PC e desde que esteja alimentado vai continuar a executar o programa no arduino.
Título: Re:Duvida Arduino
Enviado por: brunomartins em 04 de Maio de 2009, 20:44
A segunda pergunta é justamente o contrário, se eu não tenho o arduino, tenho como emular ele? Para poder testar o código?
Título: Re:Duvida Arduino
Enviado por: metRo_ em 04 de Maio de 2009, 21:14
Que conheça não, mas era algo que dava jeito :)
Título: Re:Duvida Arduino
Enviado por: TigPT em 05 de Maio de 2009, 00:21
Também não tenho conhecimento de nenhum emulador de Arduino, mas quanto a debug, o Serial é a melhor opção.
Título: Re:Duvida Arduino
Enviado por: Njay em 10 de Maio de 2009, 01:18
O AVRStudio da ATMEL suporta simulação de código para AVR (é onde normalmente eu começo por me "divertir" com um projecto novo). Por exemplo, compilo um programa e depois abro-o no Studio, que me permite correr o programa como se estivesse num debugger. Mas funciona é com código em C e não com a linguagem do Arduino. Uma vez que o código Arduino é convertido em C/C++ (na verdade é quase igual, para não dizer igual mesmo), e que existem certos mecanismos do pre-processador de C que não interessa estar a discutir aqui, teoricamente não deveria ser muito dificil alterar o ambiente Arduino para que produzisse um ficheiro capaz de ser lido no AVRStudio para simulação e que apresentasse o código Arduino correctamente.

Quem tiver algum tempo livre pode compilar um programa Arduino simples e depois procurar nas directorias da instalação um ficheiro com o nome do vosso programa mas extensão .ELF. Se o encontrarem então podem carregá-lo do AVRStudio (File -> Open) e ver o que sai. Os problemas que podem ter são

1) O AVRStudio não encontra os ficheiros com o código fonte - O IDE do Arduino pode ter apagado os ficheiros C. Talvez haja forma de o impedir de o fazer.

2) Vocês vêm código que é ligeiramente diferente do vosso mas reconhecem o vosso "lá pelo meio", e também há código "novo", que vocês nunca viram - Neste caso podem à mesma simular o vosso programa, ebora vejam algumas coisas um pouco diferentes.