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 ou faut-il en passer par là?
merci !
|
51 messages • Accèder à une page • 1, 2, 3, 4
|
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
programmation micro controleur
- fiscal
- Pro-Fabricant
- Messages: 2928
- Inscription Forum: 31 Aoû 2006 15:29
- Localisation: VILLEURBANNE
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.
Et pour rester simple, il suffit alors de modifier cette démo, toute la structure et configuration étant en place.
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.
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
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.
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
Ah ben déjà des réponses bien concrètes!
Je regarde de près vos suggestions
Je regarde de près vos suggestions
- fiscal
- Pro-Fabricant
- Messages: 2928
- Inscription Forum: 31 Aoû 2006 15:29
- Localisation: VILLEURBANNE
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
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.
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.
- Eric.D
- Messages: 1870
- Inscription Forum: 05 Juil 2006 12:45
- Localisation: dans le 06
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.
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
Bonjour
Tout d'abord, soyez indulgent avec mes questions qui pourraient vous parraitre débile...
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.
Tout d'abord, soyez indulgent avec mes questions qui pourraient vous parraitre débile...
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
- Messages: 2928
- Inscription Forum: 31 Aoû 2006 15:29
- Localisation: VILLEURBANNE
les deux sont possibles.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 ?
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
merci, c'est clair (en attendant d'autres questions)
- fiscal
- Pro-Fabricant
- Messages: 2928
- Inscription Forum: 31 Aoû 2006 15:29
- Localisation: VILLEURBANNE
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
- Eric.D
- Messages: 1870
- Inscription Forum: 05 Juil 2006 12:45
- Localisation: dans le 06
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.
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)
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 :
- Philby
- Messages: 9819
- Inscription Forum: 12 Mar 2001 2:00
- Localisation: 33
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.
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
Rhaaaa! tout fout le camp....
- Philby
- Messages: 9819
- Inscription Forum: 12 Mar 2001 2:00
- Localisation: 33
|
51 messages
• Page 1 sur 4 • 1, 2, 3, 4
Retourner vers Discussions Générales
|