Programmer en C

Bonsoir,

j’aimerais programmer en C et je cherche un logiciel qui me permette d’ecrire, enregistrer, editer des programmes, voire même si c’est possible de les compiler pour des PIC et/ou ATMEL.

je pense en premier lieu a des applications en robotique ( pour jouer pas sur des robots a usage pro ) et j’ai brievement entendu parler de composants et cartes anduin adaptables sur des legos ( ce qui me permettrai de recycler mon stock de 10 ans d’enfance lego ).

je souhaiterais également savoir quels sont les applications possible en informatique, durant mes 6 ans d’études en electronique on m’a appris que le C était surtout un langage orienté machine ( vers les composants de l’ordinateur etc ) hors je ne me sens pas encore (avec mes compétences balbutiantes ) de faire un OS ou des drivers. J’aimerais donc savoir ou je peux lire des programmes en C trouver des tutos, des exemples etc …

Je ne m’interesse pas a d’autres langages pour le moment je pense que m’occuper du C est suffisant pour commencer ( ou continuer ce que j’ai commencé a apprendre ) ceci dit je n’ai pas de “labo” d’electronique et s’il existe des applications interactives pour cabler un systeme ( exemple bête : thermomètre ) le router éventuellement, mais surtout le simuler ( la je pense a des programmes comme orcad et les autres qui vont avec ) je suis preneur !!!

merci a tous :smiley:

EDIT :
_ Pour le câblage et la fabrication de typons le logiciel Kicad conçu par un français est très complet et orienté professionnel, il servira à tout cycle de conception mais ne permet pas de simulation sur la machine.

Ce qui est vrai. Mais le C reste le langage de prédilection pour peux que les perf soit importante. Enormement de chose sont encore fait en C GNU/Linux (je ne parle pas des application de haut niveau mais plus dans les couche basse), les jeux video etc …

Pour le reste je ne peux te renseigner :blush:

Je ne suis pas sûr que commencer à programmer par ‘C’, si on est totalement novice en la matière, soit une bonne idée. C’est quand même un langage assez complexe pour un débutant.
À mon époque, le début se faisait toujours avec ‘Basic’ mais je ne sais même plus si ça existe encore ?
En second, on touchait à ‘Pascal’ puis ‘C’ venait ensuite, accompagné de bien d’autres langages.
Je ne connais plus rien dans ce domaine mais ptet qu’un début avec bash n’est pas trop mal ???
Attends l’avis des jeunes ou du Prof François.

Le C ne me semble pas inaccessible pour un débutant, il est assez strict c’est tout.
Point de vue personnel car je ne comprends rien au bash alors que je me remets facilement dans le bain avec le C.

strict ? Il y a peu de langages aussi permissif.

strict ? Il y a peu de langages aussi permissif.[/quote]
En dehors de ça, Michel, tu penses qu’il ne vaut pas mieux commencer par quelque chose de plus “simple”, si ça existe encore ?

Je trouve python3 très abordable (plus simple que le C !). Et puis il y a l’excellent bouquin de Gérard Swinnen …

strict ? Il y a peu de langages aussi permissif.[/quote]
En dehors de ça, Michel, tu penses qu’il ne vaut pas mieux commencer par quelque chose de plus “simple”, si ça existe encore ?[/quote]
À mon humble avis, pour faire ce qu’il veut, il n’a pas vraiment le choix, ce sont les machines qui vont choisir le langage pour lui.

Et je rajouterais : plutôt inutile de demander des conseils à la communauté, les compilateurs PIC etc sont généralement propriétaires donc faut voir ce que le constructeur du µproc propose (MicroChip a un IDE gratuit et le compilo qui va avec, je soupçonne qu’Atmel c’est pareil).
Après si les IDE te font chier tu peux toujours utiliser un bête éditeur de texte pour écrire ton code, mais au final faudra toujours passer par leur compilo pour générer le binaire et par leur IDE pour programmer le µ.

Du peu que j’ai pu apprendre en programmation ( je n’ai jamais qu’un bac techno en electronique ) l’important n’est pas tellement le langage mais la comprehension de ses applications et celle de la programmation en general grosso modo le mec qui peut faire un algorigramme propre d’un programme quelconque ( prenons un gestionnaire de cap mon vieux sujet de bac ou il faut suivre un cap fixé par l’utilisateur a l’aide d’informations variables fournies par un GPS, et ce en commandant un moteur pas a pas ) n’aura aucun mal a le retranscrire avec un langage adapté ( le C par exemple ) ou meme avec un autre langage pour peu qu’il en connaisse suffisament dessus…

si je choisis le C c’est pour ces applications ( premierement ) mais aussi parceque j’ai déjà étudié ce langage et que j’y possède quelques bases ( on dira que j’y suis initié ), si je devais choisir un autre langage ce serait un langage orienté objet ( et plutot destiné a concevoir des programmes avec interface graphiques etc ) parceque j’aime beaucoup dans la programmation toute cette partie ou l’on teste et on cherche un resultat bien visible pour n’importe qui :laughing: ( citons l’exemple suivant : oh regarde REGARDE !!! j’ai réussi a allumer une LED :dance: )

je suis ouvert a toute remarque et conseils concernant ce type de langage informatique que je recherche =)

pour les outils GNU/LINUX concernant le C et notamment les compilateurs je vais jeter un oeil sur les sites des constructeurs comme tu me le conseille syam :wink:

C’est vrai… dans une certaine mesure.
L’algorithmique c’est bien entendu la base, mais il faut quand même connaître les spécificités de chaque langage. Par exemple en C, c’est pas du tout trivial pour un débutant de comprendre la gestion de la mémoire (allocation / libération / pointeurs) et même avec un algorithme parfaitement réussi tu peux très facilement faire des énormes conneries !
Bref, ce que tu dis est vrai pour un dév qui a déjà pas mal de kilomètres au compteur et qui connaît ses bases (C voire assembleur, plus des langages haut niveau – c’est le strict minimum) mais c’est totalement faux pour un débutant qui va très vite se retrouver empêtré dans les détails techniques d’un langage donné. :wink:

Comme quoi il faut pas faire l’amalgame entre suffisament et “un peu” ou “des bases” :unamused:

ce dont on s’aperçoit rapidement quand on ne voit pas une erreur simple, ou classique, tandis que quelqun qui connait bien le langage concerné ( un prof, un dev experimenté ) la verra en un rapide coup d’oeil la ou celui ( ou celle … mais sont elles rares ? ) qui a fait l’erreur aura pu y passer une bonne heure sans la voir :013

mais pour s’en apercevoir il faut essayer, coder et avoir un “connaisseur” pour nous guider :laughing:

j’essaie de me renseigner sur spice un soft de simulation de circuit qui est integré, ou plutôt qui peut être intégré a une netlist créee sur KiCad,connaissez vous quelque chose a propos de ce soft ?

et pourquoi pas utiliser le logiciel arduino (programmation proche du C)?
arduino.cc/fr/
mon-club-elec.fr/pmwiki_refe … pmwiki.php

Tu peux trouver des cartes arduino et un kit de base (tel que celui_ci pour 49 euros: alpha-crucis.com/fr/outils-d … 01748.html), ou d’autres, tels que des robots…

En effet c’est la bien interessant puisqu’en progressant dans la comprehension de ce langage je devrais réussir a le re-traduire en langage C et l’environement logiciel proposé permet la programmation de µproc AVR que ce soit en arduino ou en C ( adapté a l’AVR ça va sans dire ) je vais creuser ta piste clisam :023

ceci dit je garde dans mon sac KiCad et companie pour des fabrications plus maisons quand j’aurais récupéré le matos adequat :mrgreen:

PS : je ne regrette pas du tout mon retour a linux et mon arrivée dans debian et sa communauté autrement plus active et renseignée que celle que j’ai pu rencontrer quand je tournais sous (K)ubuntu :038 qui malgré un manque certain de tact m’a permis de découvrir linux :unamused:

Mes interventions étaient inutiles car j’avais compris que tu étais totalement débutant en matière de programmation. Je ne sais pas où j’avais vu ça :unamused:
J’ai dû confondre avec un autre fil ou alors je n’avais pas décuvé.

Salut
Ca fait quelque temps que je bricole des µcontrolleurs de atmel (attiny2313, atmega8) avec mes PC sous debian et systemes GNU/Linux…
Et je m’eclate bien.

Pour débuter la programmation , Arduino doit etre pas mal car il y a beaucoup de bouts de programmes (de codes) et cela peut te simplifier le début de l’apprentissage ( va quand même falloir comprendres les mots ‘variables’ ‘compilation’ voir ‘compilation croisée’ et accepter les heures de “debogages” :12 :017 -attention aux exces de caffeine…)

Moi, je fais sans arduino et tutti quanti :du linux, du C, de l’étain , et avrgcc,le compilateur “libre” c’est cool.

N’hesite pas pour demander des conseils…

Les PIC (MicroChip) c’est pas mal non plus, y’a une sacrée communauté autour. J’avoue que je ne connais pas les µ Atmel, on peut pas tout savoir.
PIC => IDE basé sur Netbeans ou un dérivé d’Eclipse ou truc du même genre (enfin c’est un bidule Java :mrgreen:), j’avoue ne pas reconnaître la différence. Les autres fournisseurs (non-PIC), du peu que j’en ai vu ça doit être à peu près similaire je pense.

Question PIC, pour les feignasses ou (comme moi) incompétents en électronique, laissez-moi quelques mois et je vous fournirai un schéma fonctionnel (condos autour, MAX232 pour la liaison série, ICSP etc). On est en train de taffer dessus, entre autres choses … :wink:

intéressant de mon coté j’aimerais explorer la piste d’une association entre Kicad et SPICE pour être a même de réaliser quelques simulations a partir de schéma mais je ne me sens pas compétent pour configurer la chose comme je l’entends ( le but étant d’arriver a un résultat a peu près similaire a orcad : on place un ou plusieurs marqueurs sur le schéma et on peut obtenir les mesures théoriques par le biais de la simulation après génération de la netlist )
ma solution temporaire c’est d’utiliser le “tout cuit” de simulation proposé par Oregano.

26_arbres pour rediger tes programmes tu fais ça dans un éditeur de texte puis passage au compilateur ou bien tu utilise un IDE en prime pour verifier les syntaxes etc ?

par ailleurs peux-tu m’en dire un peu plus sur AVRGCC ?

merci de votre soutien et de votre suivi :041

Yo Tsero

Il y a presque de quoi ouvrir une discussion, mais il y a beaucoup de forums spécialisés…

(http://www.avrfreaks.net/ si tu causes un peu l’anglais,ou l’US, mais c’est international…).

Pour te répondre :

  • tu tapes ton programme dans ton éditeur de texte favori
  • tu le compiles via la ligne de commande (avec tous les bizness de compilation : options, makefile…)
    en utilisant avrgcc
    -tu le transfert sur ton microcontrôlleur via des circuits simplistes ou via l’USB

AVRGCC est libre, dans les dépots.

Voilà c’est pas compliqué.
En plus il y a Denis Bodor qui a écrit pleins de super articles dans les journaux avec des manchots dessus…
Pour les flemmards, comme moi, j’installe souvent “kontrollerlab”, edité par cadmaniac.
Je ne sais pas si ce programme est maintenu. Je ne crois pas. Si il n’et plus disponible, je pourrais t’en joindre une copie (légale du coup :smiley: il me semble bien : c’est bon GNU/Linux)

Kontrollerlab est un GUI qui rassemble tout ça, et qui te mache bien le travail (il fait tout en un clic :slightly_smiling:).
En plus moderne il y a eclipse qui peut être parametré pour la chaîne de programmation.

Pour voir ce que ça représente, dans les vidéos du net , il y a plein de gars qui se filment en train d’effectuer tout le processus de programmation…
Et des sites comme ça,http://hackaday.com/?s=avr où il y a plein de félés de ce type de bricolage.

attention : loisir addictif…

merveilleux :023

je vais me pencher sur eclipse plutôt qu’arduino je crois ( eclipse m’a l’air bien plus polyvalent )

merci aussi pour les liens !!! j’ai vu qu’un type avait fait un programmeur avr avec un vieux clavier :041

excellent tout ça :mrgreen:

EDIT : avrgcc est aussi installé ( avec llvm comme frontend ) mais ce que j’aimerais c’est avoir un IDE style eclipse juste pour gcc as tu connaissance d’un tel soft dans les paquets ?