CONNEXION
  • RetourJeux
    • Tests
    • Soluces
    • Previews
    • Sorties
    • Hit Parade
    • Les + attendus
    • Tous les Jeux
  • RetourActu
    • Culture Geek
    • Astuces
    • Réalité Virtuelle
    • Rétrogaming
    • Toutes les actus
  • RetourHigh-Tech
    • Actus JVTECH
    • Bons plans
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTECH
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch
    • Xbox Series
    • Overwatch 2
    • FUT 23
    • League of Legends
    • Genshin Impact
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • PS4
  • One
  • Switch
  • Wii U
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Etoile Abonnement RSS

Sujet : Peut on programmer un arduino en C ?

DébutPage précedente
12
Page suivanteFin
[Vicki] [Vicki]
MP
Niveau 10
17 novembre 2014 à 20:45:05

Et pas que en langage arduino de base ? :(

Bonjour/ merci d'avance :)

Pseudo supprimé
Niveau 10
17 novembre 2014 à 20:49:35

Oui, en C avec les libs d'AVR et dans ce cas t'utilises juste arduino comme programmateur.

[Vicki] [Vicki]
MP
Niveau 10
17 novembre 2014 à 21:02:54

D'accord, je pige pas trop ce que tu me dis car pour l'instant j'ai fait que tester des monatages sans me mettre dans la prog, mais ça serais plus judicieux d'apprendre plutôt le C au lieu de l'arduino ? Arduino c'est plus un langage "propriétaire" non ?

Pseudo supprimé
Niveau 10
17 novembre 2014 à 21:57:43

Lorsque tu développes pour Arduino, tu programmes déjà en C ou en C++, selon ton humeur. Tu passes juste au travers d'une bibliothèque qui te facilite la vie pour la gestion des entrées et des sorties de la carte :D

Donc, si le "langage de base" ne te plaît pas...

Tikim Tikim
MP
Niveau 21
17 novembre 2014 à 22:35:25

Oui c'est du C/C++ libre à toi de ne pas utiliser les libraires Arduino (m'enfin pour utiliser les I/O c'est mieux :o)) ). Typiquement les String Arduino sont un gouffre de Flash incroyable, à éviter sauf si c'est qu'un tout petit projet.

Note que ya un microprocesseur derrière un Arduino et tu peux bien entendu le programmer sans passer par Arduino, mais ça a pas tellement d'intérêt à part bidouiller pour bidouiller.

[Vicki] [Vicki]
MP
Niveau 10
17 novembre 2014 à 22:52:38

Donc finalement c'est quoi le mieux ? ^^ Je suis un peu perdu sur ça, sachant que j'aimerais apprendre le C.

Merci à vous 3

_viper_ _viper_
MP
Niveau 10
17 novembre 2014 à 23:09:50

Apprends le C. Le langage Arduino, c'est du C/C++ légèrement réinterprété et avec des fonctions mises à disposition pour une programmation simple.
Si tu sais coder en C, tu sais coder avec le langage Arduino qui, encore une fois, peut être considéré comme du C/C++.

terminatueur765 terminatueur765
MP
Niveau 13
17 novembre 2014 à 23:24:17

C'est du C avec une syntaxe similaire mais certaines choses du C n'existent pas (arduino comprend pas le printf, il a une autre commande pour faire ce que fais printf)

_viper_ _viper_
MP
Niveau 10
17 novembre 2014 à 23:38:24

printf est une fonction de la lib stdio.h qui est standard, mais ne fait pas partie de la syntaxe du langage.

Pseudo supprimé
Niveau 10
18 novembre 2014 à 07:41:57

Bah tu verras que ton code avec du code pour le microcontroleur d'AVR directement sera plus léger car il passe pas par toutes les libs d'arduino, mais pour un débutant ce sera débutant de devoir apprendre à programmer directement sur un microcontroleur, mais si tu veux savoir le faire pourquoi pas.

terminatueur765 terminatueur765
MP
Niveau 13
18 novembre 2014 à 13:36:25

printf est une fonction de la lib stdio.h qui est standard, mais ne fait pas partie de la syntaxe du langage.

Oui mais arduino ne comprend pas le printf faut passer par une autre "fonction"

_viper_ _viper_
MP
Niveau 10
18 novembre 2014 à 16:02:25

Parce que ce sont deux fonctions qui ne font pas la même chose.

printf affiche des caractères sur un terminal défini comme standard pour le projet (la console pour un projet console, un fichier pour certains projets avec des libs graphiques, etc).

Serial.print qui est la fonction d'affichage standard sur Arduino, n'est pas au sens strict une fonction d'affichage. C'est une fonction de communication en liaison RS232 qui envoie des données à afficher sur un terminal RS232 (le moniteur Arduino par défaut, ou un programme tiers qui reçoit des données sur ce type de liaisons).
D'ailleurs, si on veut être précis, il s'agit d'une méthode de classe, vu que Serial est un objet gérant la com série sur une Arduino. On est donc en C++ et non en C.

Il s'agit bien de fonctions codés qui réalisent justement une fonction : l'affichage de caractères. Mais ce n'est pas de la syntaxe de langage.

[Vicki] [Vicki]
MP
Niveau 10
22 novembre 2014 à 17:05:33

Merci pour toutes vos réponses :) J'ai pleins de questions comme d'hab :

En fait j'ai l'impression que apprendre l'Arduino est un peu une étape inutile, j'ai envie d'aller assez loin.

-Arduino c'est plutôt pour s'amuser de temps en temps à faire des choses pas très évolué, qui serve juste de concept quoi ?

-Clairement ducoup j'apprends le C directement ?

Si oui, j'apprend sur le SDZ ou développez.com ? +

Sachant que j'ai strictement aucune connaissance en prog, seulement juste quelques petites connaissance en algo ( mais ça on s'en fou ), comment je le programme en C l'arduino ?

Vu que l'IDE (je crois que ça s'appelle comme ça ) Arduino, c'est seulement pour programmer en arduino non ?

-Si je code juste en C l'arduino uno, il sera pas brider en fonctionnalités ?

-Mon arduino uno 3 c'est une copie, mais il est compatible avec les projets arduino uno 3, ça pose pas de problèmes ?
Merci d'avance :)

boyd-fowler boyd-fowler
MP
Niveau 10
22 novembre 2014 à 19:30:38

Le Tuto du SDZ en C est bon chope le livre en papier ou en PDF , L'IDE dépend de ton système d'exploitation . Pourquoi veux tu faire du C :question:

Tikim Tikim
MP
Niveau 21
22 novembre 2014 à 19:44:19

Arduino c'est si tu t'intéresses à l'électronique et au DIY, c'est un cerveau programmable pour relier plein de modules entre eux (capteurs, actionneurs, modules de communication type WiFi/Bluetooth/GSM, domotique, etc). C'est principalement ça et c'est pas de "petits trucs", on peut faire de gros projets avec ('fin gros pour du DIY). Bien sûr si c'est pas ton objectif alors ça a aucun intérêt, pareil pour l'IDE.

Si tu veux faire du logiciel PC, alors oublie l'Arduino.

Ah et non si tu le programmes pas en C il sera pas bridé puisqu'il est FAIT pour être programmé en C, c'est le seul truc qu'il comprend :hap: Et non pas grave si c'est une copie.

Qu'on se comprenne, la différence entre Arduino et du C "logiciel" c'est les libraires, qui sont directement liées au hardware. Par exemple toute la gestion des input/output (digitalWrite, digitalRead, etc). Tout %a forcément c'est pas dans le C de base puisque le C est indépendant du hardware. En gros, ces librairies sont les driver/pilotes de l'Arduino, de son microcontrôleur. Sur les microcontrôleurs classiques c'est à l'ingénieur de faire ça, sur Arduino c'est déjà fait, c'est pour ça qu'on dit que c'est simple :)

Donc pour toi : précise ton objectif. Si tu veux juste apprendre à programmer, fais du C avec un tuto et sans Arduino. Si tu veux bidouiller du DIY fais de l'Arduino, t'apprendras le C en même temps.

[Vicki] [Vicki]
MP
Niveau 10
23 novembre 2014 à 00:20:47

Bah enfaite je veut faire du C car je pense que je vais aller assez loin dans l'electronique / informatique embarquée, j'aimerais même en faire mon métier, enfin bref.

Ducoup je me dis que si je voudrais faire mes propres carte électronique avec mon propre PCB et tout, bah l'arduino est inutile, c'est que le C qu'il faut ?

Après je me trompe peut être ?

Ducoup vu que j'aimerais aller assez loin en diy, électronique, robotique, enfin toutes ces choses là, bah je me demande si apprendre directement le C ne serait pas une bonne idée. Vous en pensez quoi ? :(

[Vicki] [Vicki]
MP
Niveau 10
23 novembre 2014 à 00:21:33

Puis si j'apprends l'arduino, je pourrais l'utiliser que sur des cartes arduino non ?

Tikim Tikim
MP
Niveau 21
23 novembre 2014 à 08:38:38

Alors c'est une excellente idée d'apprendre le C, parole de mec en dernière année d'école d'ingénieur en Systèmes embarqués.

Pour les PO, il te faut toujours une partie intelligente, le uP, mais tu peux tout à fait commencer avec un Arduino puis plus tard apprendre à programmer sur un uP classique et c'est même une bonne idée.

Pour ta dernière question, on n'apprend pas "l'Arduino" ça veut rien dire. C'est du C comme dit 10x ^^ si tu sais coder sur Arduino alors tu sais coder en C (bien sûr ton code peut être sale et pas optimisé, comme partout ça s'apprend mais Arduino ou pas ça change rien).

Si tu commences sur Arduino c'est bien parce que t'es premières difficultés seront la compréhension et l'écriture du langage C. Quand tu seras à l'aise avec ça tu pourra t'intéresser aux microprocesseurs (uP) classiques (Microchip, Freescale, etc etc) qui eux demandent une compréhension plus poussée du C mais surtout de leur fonctionnement, tu devras lire des datasheet de 400 page pour y trouver les infos que tu cherches, etc. Commencer par la c'est impossible ^^

Ce que je te conseille c'est de commencer par programmer sur Arduino, apprendre à allumer des leds puis complexifier ton programme (ajouter un timer, reproduire k2000 avec des leds, associer des leds à des boutons, etc). Mais avant de te mettre à Arduino, apprends les bases du C sur le site du zéro. Va jusqu'aux pointeurs (si tu comprends pas les pointeurs c'est pas grave, c'est indispensable mais ça viendra plus tard :) )

Tikim Tikim
MP
Niveau 21
23 novembre 2014 à 08:39:06

PCB pas PO.

[Vicki] [Vicki]
MP
Niveau 10
23 novembre 2014 à 12:27:38

Oh merci beaucoup :) En fait l'arduino faut le programmer en C mais avec des trucs qui change dans le code ? Je m'exprime mal

Ducoup je commence à apprendre le C sur le site du zéro et ensuite ? Je ferais comment pour programmer sur l'arduino ? :)

Et à part ça, tu peut me dire un peu ton parcours avant ton école d'ingénieur, parce que c'est je que je souhaite faire aussi :( Maîtriser l'anglais est vraiment indispensable ?

Merci à toi !

DébutPage précedente
12
Page suivanteFin
Répondre
Prévisu
?
Victime de harcèlement en ligne : comment réagir ?
Infos 0 connecté(s)

Gestion du forum

Modérateurs : godrik, LGV
Contacter les modérateurs - Règles du forum

Sujets à ne pas manquer

La vidéo du moment