Modérateurs: Modération Forum DIY, Modération Forum Installations, Le Bureau de l’Association HCFR • Utilisateurs parcourant ce forum: jpvoit, PETOIN Dominique et 59 invités

Discussions générales sur le DIY Audio : choix des HP, comparaisons des principes : clos vs BR, etc

programmation micro controleur

Message » 15 Jan 2015 10:58

Bonjour

je voudrais entrer dans le monde merveilleux du numérique et de ses formidables possibilités (Cf le DSPiy !), mais je suis totalement novice en programmation des micro contrôleurs, et il me semble que c'est rédhibitoire.

J'ai fait des recherches sur le net pour me cultiver sur le sujet, et je potasse actuellement le cours de M Bigonoff et la programmation du PIC 16F84. J'avance doucement, et je me rends compte que le sujet est immense. J'ai du mal à voir comment m'en sortir moyennant un délai raisonnable (disons 6 mois en travaillant régulièrement)
En particulier le langage assembleur est un peu rébarbatif. Le logiciel Mplab de microchip me parait une usine à gaz. Peut être faut-il en passer par là, mais je voulais avoir vos retours d'expériences sur la meilleure méthode d'aborder ce sujet. Peut être existe t-il des micro controleurs et des logiciels plus intuitifs que microchip et Mplab. (Analogic Device et labview pour ne citer que celui ci ?)

Mon objectif serait, par exemple:

D'être capable de développer une application simple comme par exemple un potentiometre numérique avec afficheur à partir de la puce TI PGA2311 (http://www.ti.com/lit/ds/symlink/pga2311.pdf)
Plus audacieux, d'être capable de déveloper un DAC à partir de la puce PCM5242 (http://www.ti.com/product/pcm5242)

Quels conseils me donneriez vous pour me former rapidement à la chose? sans devoir me taper toutes les bibliothèque du parfait ingénieur :zzzz: ou faut-il en passer par là? :charte:

merci !
fiscal
Pro-Fabricant
Pro-Fabricant
 
Messages: 2928
Inscription Forum: 31 Aoû 2006 15:29
Localisation: VILLEURBANNE
  • online

Message » 15 Jan 2015 11:18

Surtout pas de l’assembleur.
Il y a Arduino que je ne connais pas mais qui semble pas mal.
Personnellement je reproche à ces solutions d’être pas vraiment libre entre hardware et software.

En solutions plus « poussées », il y a LCPXPRESSO que je connais bien.
Moins de hardware « tout fait », mais tout de même une petite carte à bas prix avec le µC et les lignes I/O avec l’émulateur compris.
LCPXPRESSO est gratuit dans sa version limitée à 256Ko ce qui n’est plus une limite.

Comme d’autres outils de développements du genre, il est basé sur Eclipse.
Un peu déroutant au début, une usine à gaz pour pas grand-chose, mais après l’avoir installé et réussi à charger un soft de démo tout est simple. :D
Et pour rester simple, il suffit alors de modifier cette démo, toute la structure et configuration étant en place.
thierryvalk
 
Messages: 5617
Inscription Forum: 08 Mai 2012 9:39
Localisation: Belgique
  • offline

Message » 15 Jan 2015 11:50

Bonjour Fiscal,
A mon gout, la connaissance des fonctions élémentaires (combinatoires et séquentielles) utilisées par un µP est un plus.
Un peu d'algorithmique ne peut pas faire de mal.
http://algo.developpez.com/cours/ (Il te faudra préalablement t'inscrire).
Cela permet de comprendre qu'un processeur fait, pas à pas ce que tu lui demande et que lui demander d'effectuer une tâche complexe en deux lignes de code, (sans appel à une routine spécialisée) n'est pas vraisemblable.
Et l'apprentissage d'un langage type C te permettra de contourner l'assembleur.
Arduino n'est pas cher, et peut te permettre de débuter, en obtenant des résultats simples mais rapides. La toile est bourrée d'applications.
Dernière édition par J-C.B le 15 Jan 2015 12:40, édité 1 fois.
J-C.B
 
Messages: 6871
Inscription Forum: 19 Juil 2009 12:18
Localisation: Haute Normandie
  • online

Message » 15 Jan 2015 12:26

Ah ben déjà des réponses bien concrètes!

Je regarde de près vos suggestions :P
fiscal
Pro-Fabricant
Pro-Fabricant
 
Messages: 2928
Inscription Forum: 31 Aoû 2006 15:29
Localisation: VILLEURBANNE
  • online

Message » 15 Jan 2015 13:23

on est deux a avoir ça au programme en 2015. Je regarde coté arduino.
alkasar
 
Messages: 11517
Inscription Forum: 29 Nov 2005 22:47
Localisation: Neuf deux
  • offline

Message » 15 Jan 2015 14:06

Sinon stm32, ils ont des cartes EVM à moins de 10€, avec un ensemble de librairies en C réutilisables à souhait sans compté toute la suite logicielle gratuite (compilateur, debugger).
Perso j'utilise le MDK-ARM et le debugger Keil (le debugger est un outil essentiel pour bien comprendre et vérifier ce que l'on essaye de faire surtout quand on débute mais également après).
La première chose à comprendre c'est l'architecture du micro utilisé, ses différents modules le constituant, ses IOs, ses horloges internes, .... etc.

Edit: Pour la carte eval, peut-être celle-ci STM32L-DISCOVERY. :wink:
Eric.D
 
Messages: 1870
Inscription Forum: 05 Juil 2006 12:45
Localisation: dans le 06
  • offline

Message » 15 Jan 2015 15:18

j'ai ça dans mon placard, a coté de celle du lcp1701 (celui du dspiy) ;)

j'ai comme l'impression que pour démarrer, un arduino prend plus par la main et la littérature pour débutants plus fournie.
alkasar
 
Messages: 11517
Inscription Forum: 29 Nov 2005 22:47
Localisation: Neuf deux
  • offline

Message » 16 Jan 2015 10:35

Bonjour

Tout d'abord, soyez indulgent avec mes questions qui pourraient vous parraitre débile... :ane:

J'ai regardé du coté d'arduino. Si je comprends bien, c'est une carte et un environnement permettant la programmation des micros Atmel (par exemple le Atmega328 pour la version arduino uno, la plus simple). la programmation se fait en C++.

Une fois le microcontroleur programmé, on le retire de la carte arduino et il intègre son circuit définitif, ou bien est-ce la carte entière qui rejoint le circuit d'application ?

Pour Eric et stm32, je suppose que lorsque tu dis qu'il y a une librairie en C utilisable, je suppose que c'est des programmes déjà tout fait, que l'on peut télécharger pour sa propre utilisation (je n'ai pas trouvé le lien pour voir des exemples.

Enfin pour Jean Claude, merci pour le lien, je compte bien comprendre ce que je fais, c'est une de mes motivations première.
fiscal
Pro-Fabricant
Pro-Fabricant
 
Messages: 2928
Inscription Forum: 31 Aoû 2006 15:29
Localisation: VILLEURBANNE
  • online

Message » 16 Jan 2015 10:46

fiscal a écrit:
Une fois le microcontroleur programmé, on le retire de la carte arduino et il intègre son circuit définitif, ou bien est-ce la carte entière qui rejoint le circuit d'application ?
les deux sont possibles.
C'est pareil pour les autres µP dont la carte d'évaluation est utilisable a la fois pour le développement et le système final si on ne veut pas faire de pcb dédié.
L'intérêt que je vois à arduino c'est la gamme de cartes et extensions compatibles.
alkasar
 
Messages: 11517
Inscription Forum: 29 Nov 2005 22:47
Localisation: Neuf deux
  • offline

Message » 16 Jan 2015 10:57

merci, c'est clair (en attendant d'autres questions)
fiscal
Pro-Fabricant
Pro-Fabricant
 
Messages: 2928
Inscription Forum: 31 Aoû 2006 15:29
Localisation: VILLEURBANNE
  • online

Message » 16 Jan 2015 11:40

Sinon et sans vouloir faire de pub (aucun lien avec ST) mais comme je trouve leur gamme de produit franchement intéressante et évolutive il y a des versions compatibles Arduino avec la gamme Nucleo : ex: nucleoF401RE :wink:
Eric.D
 
Messages: 1870
Inscription Forum: 05 Juil 2006 12:45
Localisation: dans le 06
  • offline

Message » 16 Jan 2015 11:42

Salut à toi,

Pour moi, le cours de Bigonoff est un indispensable pour se lancer dans le micro controleur. Pas pour l'assembleur, qui est clairement rébarbatif et désormais inutilisé, mais pour comprendre parfaitement le fonctionnement d'un micro controleur, ses registres matériels, sa configuration, etc ...

Une fois que tu auras compris cela pour le 16f84 (obsolete), tu pourras facilement passer à d'autres modèles et comprendre au mieux les caractèristiques et l'utilisation des autres micro, à partir des datasheets.

Pour le développement, j'utilise mplab (version 8.92, jamais pu me faire a la X) avec le compilateur C sourceboost (dispo gratuitement en version limitée en taille de code)

Ensuite, le plus simple est de récupérer quelques programmes d'exemple bien commentés et de les modifier pour vérifier le comportement du micro.
apolon34
 
Messages: 2176
Inscription Forum: 24 Mar 2003 15:57
Localisation: Rouen (76)
  • offline

Message » 16 Jan 2015 11:52

apolon34 a écrit:Salut à toi,

Pas pour l'assembleur, qui est clairement rébarbatif et désormais inutilisé, mais pour comprendre parfaitement le fonctionnement d'un micro contrôleur, ses registres matériels, sa configuration, etc ...


Je ne comprends pas votre aversion pour l'assembleur.
Avec un logiciel comme AVRstudio, ce n'est pas aussi rébarbatif, et l'assembleur permets de comprendre encore mieux l'architecture de la bête, en en restant très très près.
Pour gérer un préampli ou un potar électronique, le C est un marteau pour écraser une mouche.
Je me suis bien éclaté à écrire le firmware de mon lecteur CD, avec avrstudio, sur un atmega32. C'est très formateur!

Il existe aussi des biblios de programmes expliqués : RC5 ou LCD par exemple :

rc5.pdf
(167.7 Kio) Téléchargé 131 fois


Lcd.pdf
(244.28 Kio) Téléchargé 114 fois
Philby
 
Messages: 9819
Inscription Forum: 12 Mar 2001 2:00
Localisation: 33
  • offline

Message » 16 Jan 2015 12:02

Le problème est que les µC ont évolués et que maintenant on est presque obligé d’utiliser des marteaux pour tout.
C’est l’évolution, actuellement un µC 8 bits coutera plus cher qu’un 32 bits. :-?

Et les nouveaux sont prévus/optimalisés pour être écris en C.
Les structures mêmes des µC à bien changé, il devient compliqué d’allumer une LED.
La cause c’est que l’on dispose maintenant du cœur, le processeur en lui-même qui communique avec les différents blocs annexes, c’est bien moins direct que par le passé et l’on est presque obligé d’utiliser des Lib fournies.
thierryvalk
 
Messages: 5617
Inscription Forum: 08 Mai 2012 9:39
Localisation: Belgique
  • offline

Message » 16 Jan 2015 12:13

Rhaaaa! tout fout le camp....

Image
Philby
 
Messages: 9819
Inscription Forum: 12 Mar 2001 2:00
Localisation: 33
  • offline


Retourner vers Discussions Générales

 
  • Articles en relation
    Dernier message