Recherche…


Remarques

Installer

  • Téléchargez et installez Atmel Studio 7 à partir d' ici .
  • Achetez un débogueur. Vous pouvez vous débrouiller avec un programmeur ISP, mais si vous voulez des fonctionnalités de débogage, ce qui est l'un des grands avantages de l'utilisation d'Atmel Studio, vous voudrez un débogueur. Je recommande le ICE d'Atmel , car il fournit des capacités de débogage pour les arduinos basés sur AVR (comme Uno, Pro mini, etc.) et les Arduinos basés sur ARM, tels que Zero et Due. Si vous avez un budget, vous pouvez l' obtenir sans le boîtier en plastique et faites attention à ne pas le choquer .

Les liaisons

  • Pour l'Uno, utilisez le câble ICSP à 6 broches . Branchez un côté dans l'Uno comme indiqué. Branchez l'autre côté dans le port AVR du débogueur.

entrer la description de l'image ici

Pour l'Arduino Pro Mini, utilisez le câble mini-squid comme indiqué, en connectant à nouveau l'autre côté du port AVR du débogueur.

entrer la description de l'image ici

Considérations de débogage

Pour le débogage avec Uno, vous devez couper le tracé d'activation de Reset (vous pouvez toujours le souder pour l'utiliser avec l'IDE Arduino):

entrer la description de l'image ici

En utilisant le Pro Mini, si vous avez l'intention de connecter le port série à votre ordinateur en utilisant une carte FTDI, ne connectez pas la ligne DTR, car cela pourrait interférer avec l'interface de débogage de fil série (SWD) d'Atmel. Je connecte simplement l'alimentation, la terre, Tx et Rx comme indiqué ci-dessous. Rx et Tx sur Arduino vont à Tx et Rx, respectivement sur la carte FTDI. Certaines cartes FTDI sont étiquetées différemment, donc si le port série ne fonctionne pas, échangez Rx et Tx.

entrer la description de l'image ici

Vous devrez fournir l’alimentation séparément à l’Arduino car le débogueur ne l’alimentera pas. Cela peut être fait sur le Pro Mini via la carte FTDI comme indiqué ci-dessus, ou avec un câble USB ou un adaptateur secteur sur le Uno.

Configuration du logiciel

Branchez Atmel ICE sur votre ordinateur, démarrez Atmel Studio et vous pouvez désormais importer un projet Arduino existant.

Dans Atmel Studio, allez dans Fichier -> Nouveau -> Projet et sélectionnez "Créer un projet à partir d’une esquisse Arduino". Remplissez les options, y compris les menus déroulants du tableau et des périphériques.

Allez dans Project -> yourProjectName Properties, cliquez sur Tool, sélectionnez Atmel ICE sous debugger / programmer et debugWire sous interface. Aller au débogage -> Démarrer le débogage et casser. Vous devriez voir un avertissement et vous demander si vous souhaitez définir le fusible DWEN. Choisissez OK, débranchez l'Arduino du secteur et rebranchez-le. Vous pouvez arrêter le débogage en cliquant sur le bouton carré rouge et commencer par cliquer sur le bouton triangle vert. Pour ramener l'Arduino à un état dans lequel il peut être utilisé dans l'EDI Arduino, pendant que vous êtes en train de déboguer, choisissez Debug -> disable debugWIRE and close.

Notez que toutes les fonctions que vous ajoutez doivent également inclure un prototype de fonction (la boucle et la configuration n'en ont pas besoin). Vous pouvez voir ceux que Atmel Studio a ajoutés en haut de l'esquisse s'il y avait des fonctions lorsque vous avez importé votre projet dans Atmel Studio (voir l'exemple de code par exemple).

La prise en charge de C ++ 11 est activée par défaut dans Arduino 1.6.6 et les versions ultérieures. Cela fournit plus de fonctionnalités de langage C ++ et son activation peut augmenter la compatibilité avec le système Arduinio. Pour activer C ++ 11 dans Atmel Studio 7, faites un clic droit sur votre fichier de projet, sélectionnez les propriétés, cliquez sur ToolChain sur la gauche, cliquez sur Miscellaneous sous AVR / GNU C ++ Compiler et mettez -std=c++11 dans les autres flags champ.

Pour inclure des bibliothèques dans votre esquisse

Copiez le fichier de bibliothèque .cpp dans C:\Users\YourUserName\Documents\Atmel Studio\7.0\YourSolutionName\YourProjectName\ArduinoCore\src\core core core, choisissez add -> item existant et choisissez le fichier que vous avez ajouté. Faites de même avec le fichier de bibliothèque .h et le dossier YourProjectName / Dependancies.

Ajouter la fenêtre du terminal

Vous pouvez toujours ouvrir l'IDE Android et utiliser cette fenêtre série (sélectionnez simplement le port série approprié). Toutefois, pour ajouter une fenêtre série intégrée à Atmel Studio, accédez à Outils -> Extensions et mises à jour, cliquez sur Téléchargements disponibles et recherchez Terminal Window ou Terminal pour Atmel Studio et installez-le. Une fois installé, accédez à Affichage -> Terminal Window.

Avantages

La programmation d'Arduino avec un IDE modéré comme Atmel Studio 7 vous offre de nombreux avantages par rapport à l'IDE Arduino, notamment le débogage, l'auto-complétion, la définition et la déclaration, la navigation avant / arrière, les signets et les options de refactorisation.

Vous pouvez configurer les liaisons de clé en allant dans Outils -> Options -> Environnement -> Clavier. Certains accélèrent le développement:

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

Exemple de croquis importé Atmel Studio 7

Ceci est un exemple de ce à quoi ressemble une simple esquisse Arduino après avoir été importée dans Atmel Studio. Atmel Studio a ajouté les sections générées automatiquement en haut. Le reste est identique au code Arduino d'origine. Si vous développez le projet ArduinoCore qui a été créé et regardez dans le dossier src -> core, vous trouverez main.cpp , le point d’entrée du programme. Vous pouvez y voir l'appel à la fonction de configuration Arduino et une boucle sans fin pour appeler la fonction de boucle Arduino encore et encore.

/* 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
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow