Arduino:
Debuggerin käyttö
Kuinka:
Arduino IDE:lla voit käyttää Serial-tulosteita virheenetsintään, mutta se on vähän kuin luolaston tutkimista taskulampun kanssa. Oikeaan debuggaukseen saatat haluta parantaa peliäsi jollakin, kuten Atmel-ICE debuggerilla, joka integroituu Arduino-ympäristöön. Tässä maistiainen pseudo-debuggauksesta Serialin avulla:
void setup() {
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(A0);
Serial.print("Sensoriarvo: ");
Serial.println(sensorValue);
// Kuvittele, että odotat tässä 512, mutta saatkin 0.
// Aika tarkistaa sensorin yhteys
delay(1000); // Odota sekunti ennen uudelleen lukemista
}
Suorita tämä Serial Monitor avoinna, ja näet reaaliajassa, mitä sensorisi puhaltaa ulos.
Syväsukellus
Ennen debuggereita, se oli print-lauseiden maailma - saatoit vain arvailla, mitä tapahtui tulostamalla kaiken ulos. Debuggaus printtien avulla on yhä yleistä, erityisesti yksinkertaisemmissa ympäristöissä tai rajoitetulla laitteistolla kuten Arduino.
Vaihtoehtoja piirin sisäisille emulaattoreille, kuten Atmel-ICE, ovat ohjelmistopohjaiset debuggaustyökalut, kuten avr-gdb
. Voit yhdistää sen avarice
-ohjelman kanssa luomaan sillan GDB:n ja laitteistosi välille, mikä on erittäin kätevää edistyneempään debuggaukseen suoraan piirillä.
Debuggerin avulla voit asettaa katkaisupisteitä pysäyttämään suorituksen tietyissä kohdissa. Voit käydä läpi koodiasi rivi riviltä, tarkastella muistia, rekistereitä ja muuttujia. Tämän avulla voit paikantaa ongelmat sen sijaan, että ampuisit sokkona. Debuggerin käyttöönotossa varmista, että ympäristösi on oikein asetettu - versioiden epäsopivuus tai huonosti määritellyt työkalut voivat johtaa turhautumiseen.
Katso myös
Valmiina syventymään? Sukella näihin:
- Arduinon virheenetsintäopas osoitteessa Arduino Debugging
- AVR Libc -viitekäsikirja avr-gdb:n asettamiseksi: AVR Libc -etusivu