Arduino:
Usando um depurador
Como Fazer:
Com a IDE do Arduino, você pode usar impressões Serial para depurar, mas é um pouco como usar uma lanterna para explorar uma caverna. Para uma depuração de verdade, você pode querer elevar o nível com algo como o depurador Atmel-ICE, que se integra ao ambiente Arduino. Aqui está um gostinho da pseudo-depuração usando Serial:
void setup() {
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(A0);
Serial.print("Valor do Sensor: ");
Serial.println(sensorValue);
// Imagine que você está esperando 512 aqui, mas recebe 0.
// Hora de inspecionar a conexão do sensor
delay(1000); // Aguarde um segundo antes de ler novamente
}
Execute isso com o Monitor Serial aberto, e você verá o que seu sensor emite em tempo real.
Mergulho Profundo
Antes dos depuradores, era o mundo das declarações de impressão - você só podia adivinhar o que estava acontecendo imprimindo tudo. Depurar com impressões ainda é comum, especialmente em ambientes mais simples ou em hardware limitado como o Arduino.
Alternativas a emuladores em circuito como o Atmel-ICE incluem ferramentas de depuração de software como avr-gdb
. Você pode combiná-lo com avarice
para criar uma ponte entre o GDB e seu hardware, o que é super útil para uma depuração mais avançada diretamente no chip.
Usando um depurador, você pode definir pontos de interrupção para parar a execução em certos pontos. Você pode avançar pelo seu código linha por linha, inspecionar memória, registros e variáveis. Isso permite que você identifique problemas ao invés de fazer tentativas no escuro. Ao implementar um depurador, garanta que seu ambiente esteja configurado corretamente - versões incompatíveis ou ferramentas mal configuradas podem levar a frustração.
Veja Também
Pronto para aprofundar? Mergulhe nestes:
- O guia de depuração do Arduino em Depuração Arduino
- O manual de referência AVR Libc para configurar avr-gdb: Página Inicial AVR Libc