Programmer un ATMEGA en c

Apprenez à programmer un microcontrôleur ATMEGA en C avec le logiciel atmel studio.

a marqué ce sujet comme résolu.

Bonjour à tous,

J'ai commencé (il y a 3 jours, 14 heures) la rédaction d'un tutoriel dont l'intitulé est Programmer un ATMEGA en c.

J'aimerais obtenir un maximum de retour sur le plan. Vous pouvez me demander de rajouter des parties non abordées dans mon plan, je ferai un dernier chapitre sur l'utilisation de certain périphériques (ESP-WIFI, écran LCD,…)

Si vous êtes intéressé, cliquez ci-dessous

Merci d'avance pour votre aide

+0 -0

Avant même de commencer, je trouve dommage de parler de langage Arduino… Le langage arduino, ca n'existe pas. Tout ce que propose Arduino, c'est une bibliothèque, écrite majoritairement en C++.

Pour programmer le microcontrôleur, on peut utliiser le C, le C++ (avec quelques restrictions à cause des limitations de la puce), du Java ou même du Rust sur les derniers modèles

Bonjour, il me semble que tu as déjà abordé le sujet. Arduino est plus proche de l'API que d'un langage mais je vais faire des comparaisons entre C sans la lib arduino et C avec la lib arduino. c'est plus facile pour moi de parler de langage arduino en faisant référence au C avec la lib Arduino.

Ps: j'ai remplacé par "la programmation sur Arduino"

+0 -0

Salut, ça me parait bien comme plan.

Si j'ai bien compris tu veux parler de comment programmer un atmega avec la librairie arduino, mais sans arduino ?

Je pense que ton tuto pourrait aussi parler de comment programmer avec éclipse et un USBASP, c'est du matos assez courant et pas cher, et ça fonctionne sur linux (certainement aussi sur windows et mac mais j'ai pas testé). Si tu veux je peux t'aider pour faire ça.

ps: attention petite coquille au V-2. : "Mesrer une durée"

Merci pour le retour, le tuto stagne un peut en ce moment (manque de temps et de motivation) mais il n'est pas abandonné :)

Pour t'es questions :

Si j'ai bien compris tu veux parler de comment programmer un atmega avec la librairie arduino, mais sans arduino ?

Non, c'est l'inverse: programmer un arduino ou autres carte à base d'Atmega sans la lib Arduino.

Je pense que ton tuto pourrait aussi parler de comment programmer avec éclipse et un USBASP, c'est du matos assez courant et pas cher, et ça fonctionne sur linux (certainement aussi sur windows et mac mais j'ai pas testé). Si tu veux je peux t'aider pour faire ça.

Comme Atmel Studio utilise Avr-GCC je comptais faire une partie linux dans le premier chapitre mais j'utilise peut Linux et, j’admets que ton aide serait la bienvenue.

Si j'ai bien compris tu veux parler de comment programmer un atmega avec la librairie arduino, mais sans arduino ?

Non, c'est l'inverse: programmer un arduino ou autres carte à base d'Atmega sans la lib Arduino.

Ok en mode barbus quoi :-)

Du coup ça change (pratiquement) rien pour la programmation de la puce.

Je suivrai ce tuto avec intérêt, mais je comprend pas trop la démarche : pourquoi garder la carte arduino ? Passer direct sur un atmega328p avec un régu 5v et un quartz, ça revient à moins cher, et tu peut intégrer ça directement dans des circuits.

D'après moi, du truc le plus "simple et inefficace" au plus "complexe et efficace", c'est d'abord l'arduino, puis atmega seul avec lib arduino, puis atmega seul sans la lib arduino.

D'autant plus qu'en étant proche du matos comme ça, tu pourrais parler des fuses, pour utiliser l'oscillateur interne par exemple. (<- attention je débute la dedans, me pose pas trop de questions la dessus.:-) )

Bonjour à tous !

La beta du tutoriel a été mise à jour.

Je ne suis pas très satisfait du chapitre deux et je pense le modifier avant la version finale.

L'objectif du tuto est d'apprendre à programmer un Atmega. Je parle d'Arduino car c'est une référence et que j'utilise le mien sans la lib fourni par Arduino. Je pensais faire ce tuto pour les possesseur de carte toutes faites mais l'idée de rajouter une partie sur l'utilisation d'un Atmega sans carte est bonne.

Tu pourras préciser ce que tu veux dire par fuses (ça me fais plutôt penser aux CPLD/FPGA)

+0 -0

Salut, je comprend pas trop comment ça marche, mais les fuses sont des bits de configuration de la puce qui permettent de régler certaines chose comme quel oscillateur prendre (interne ou externe), de diviser la fréquence de l'oscillateur, de désactiver la pin RESET (non recommandé) et plein d'autre choses que je ne comprend pas. Bref ce serait pour plus tard, et dans une catégorie "notions avancée". (un petit lien ici)

Je peux aussi participer à la rédaction pour la partie de l'utilisation sans carte arduino.

Avant même de commencer, je trouve dommage de parler de langage Arduino… Le langage arduino, ca n'existe pas. Tout ce que propose Arduino, c'est une bibliothèque, écrite majoritairement en C++.

Pour programmer le microcontrôleur, on peut utliiser le C, le C++ (avec quelques restrictions à cause des limitations de la puce), du Java ou même du Rust sur les derniers modèles

Davidbrcz

Le langage Arduino se fonde sur le langage Processing. Comme dit plus haut, c'est plus une sorte d'API qu'un langage propre.

Après que Processing soit proche du C++/Java, c'est une autre question.

Ce sujet est verrouillé.