Zoeken…


Opmerkingen

Opstelling

  • Download en installeer Atmel Studio 7 vanaf hier .
  • Koop een debugger. Je kunt het redden met een ISP-programmeur, maar als je debugging-mogelijkheden wilt, wat een van de grote voordelen is van het gebruik van Atmel Studio, wil je een debugger. Ik beveel de Atmel ICE aan , omdat deze debugging-mogelijkheden biedt voor AVR-gebaseerde Arduinos (zoals de Uno, Pro Mini, enz.) En de ARM-gebaseerde Arduinos, zoals de Zero en Due. Als je een beperkt budget hebt, kun je het zonder de plastic behuizing krijgen en pas op dat je het niet schokt .

aansluitingen

  • Gebruik voor de Uno de 6-pins ICSP-kabel . Steek een zijde in de Uno zoals afgebeeld. Steek de andere kant in de AVR-poort van de debugger.

voer hier de afbeeldingsbeschrijving in

Gebruik voor de Arduino Pro Mini de mini-inktviskabel zoals afgebeeld, en sluit opnieuw de andere kant van de AVR-poort van de debugger aan.

voer hier de afbeeldingsbeschrijving in

Overwegingen voor foutopsporing

Voor foutopsporing met de Uno, moet u de reset-trace verwijderen (u kunt deze altijd terug solderen voor gebruik met de Arduino IDE):

voer hier de afbeeldingsbeschrijving in

Als u met de Pro Mini de seriële poort op uw computer wilt aansluiten met behulp van een FTDI-kaart, sluit u de DTR-lijn niet aan, omdat deze de interface van Atmel's Serial Wire Debug (SWD) kan verstoren. Ik verbind eenvoudigweg power, ground, Tx en Rx zoals hieronder getoond. Rx en Tx op Arduino gaan naar Tx en Rx, respectievelijk op FTDI-bord. Sommige FTDI-kaarten zijn anders gelabeld, dus als de seriële poort niet werkt, wissel Rx en Tx.

voer hier de afbeeldingsbeschrijving in

U zult de Arduino afzonderlijk van stroom moeten voorzien, omdat de debugger hem niet van stroom voorziet. Dit kan op de Pro Mini worden gedaan via het FTDI-bord zoals hierboven weergegeven, of met een USB-kabel of AC-adapter op de Uno.

Software-instelling

Sluit de Atmel ICE aan op uw computer, start Atmel Studio en u kunt nu een bestaand Arduino-project importeren.

Ga in Atmel Studio naar Bestand -> Nieuw -> Project en selecteer "Project maken van Arduino-schets". Vul opties in inclusief bord en apparaat vervolgkeuzemenu's.

Ga naar Project -> yourProjectName Properties, klik op Tool, selecteer Atmel ICE onder debugger / programmeur en debugWire onder interface. Ga naar Foutopsporing -> Start foutopsporing en pauze. U zou een waarschuwing moeten zien en gevraagd moeten worden of u de DWEN-zekering wilt instellen. Kies OK, koppel de Arduino los van de stroom en sluit hem opnieuw aan. U kunt het debuggen stoppen door op de rode vierkante knop te klikken en beginnen door op de groene driehoek-knop te klikken. Om de Arduino terug te brengen naar een staat waarin hij kan worden gebruikt in de Arduino IDE, kies je tijdens het debuggen Debug -> debugWIRE uitschakelen en sluiten.

Merk op dat alle functies die u toevoegt ook een functieprototype moet bevatten (loop en setup hebben ze niet nodig). U kunt de functies zien die Atmel Studio bovenaan de schets heeft toegevoegd als er functies waren toen u uw project in Atmel Studio importeerde (zie voorbeeldcode).

Ondersteuning voor C ++ 11 is standaard ingeschakeld in Arduino 1.6.6 en hoger. Dit biedt meer C ++ taalfuncties en kan de compatibiliteit met het Arduinio-systeem verbeteren. Om C ++ 11 in Atmel Studio 7 in te schakelen, klik met de rechtermuisknop op uw projectbestand, selecteer eigenschappen, klik links op ToolChain, klik op Diversen onder AVR / GNU C ++ Compiler en plaats -std=c++11 in de andere vlaggen veld.

Bibliotheken opnemen in uw schets

Kopieer het .cpp-bibliotheekbestand naar C:\Users\YourUserName\Documents\Atmel Studio\7.0\YourSolutionName\YourProjectName\ArduinoCore\src\core , open vervolgens in Atmel Studio het venster Solution Explorer met de rechtermuisknop op de Arduino Core / src / kernmap, kies toevoegen -> bestaand item en kies het bestand dat u hebt toegevoegd. Doe hetzelfde met het .h-bibliotheekbestand en de map YourProjectName / Dependancies.

Om het terminalvenster toe te voegen

U kunt Android IDE altijd open hebben en dat seriële venster gebruiken (selecteer gewoon de juiste seriële poort), maar om een ingebouwd serieel venster toe te voegen aan Atmel Studio, ga naar Extra -> Extensies en updates, klik op Beschikbare downloads en zoek naar Terminalvenster of Terminal voor Atmel Studio en installeer het. Eenmaal geïnstalleerd, ga naar Beeld -> Terminalvenster.

Voordelen

Het programmeren van Arduino met een moder IDE zoals Atmel Studio 7 biedt u tal van voordelen ten opzichte van de Arduino IDE, waaronder foutopsporing, automatisch aanvullen, naar definitie en aangifte springen, vooruit / achteruit navigatie, bladwijzers en refactoring-opties om er maar een paar te noemen.

U kunt toetsbindingen configureren door naar Extra -> Opties -> Omgeving -> Toetsenbord te gaan. Sommige die de ontwikkeling echt versnellen zijn:

  • Edit.CommentSelection, Edit.UncommentSelection
  • View.NavigateForward, View.NavigateBackward
  • Edit.MoveSelectedLinesUp, Edit.MoveSelectedLinesDown
  • Edit.GoToDefinition

Atmel Studio 7 geïmporteerd schetsvoorbeeld

Dit is een voorbeeld van hoe een eenvoudige Arduino-schets eruit ziet nadat deze in Atmel Studio is geïmporteerd. Atmel Studio heeft de automatisch gegenereerde secties bovenaan toegevoegd. De rest is identiek aan de originele Arduino-code. Als u het gecreëerde ArduinoCore-project uitbreidt en in de map src -> core main.cpp , vindt u main.cpp , het startpunt voor het programma. Daar zie je de aanroep van de Arduino-installatiefunctie en een nooit eindigende lus die de Arduino-lusfunctie steeds opnieuw aanroept.

/* Begining of Auto generated code by Atmel studio */
#include <Arduino.h>
/* End of auto generated code by Atmel studio */


// Beginning of Auto generated function prototypes by Atmel Studio
void printA();
// End of Auto generated function prototypes by Atmel Studio

void setup() {
  Serial.begin(9600);
}

void loop() {
    printA();
}

void printA() {
    Serial.println("A");
}


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow