filetage avec microcontrolleur

  • Auteur de la discussion vibram
  • Date de début
V

vres

Compagnon
Sur une discussion similaire quelqu'un a montré un exemple développé sur CubeMX. C'est beaucoup plus simple que Keil. Je ne sais pas si le code est portable sur toutes les cartes STM32.
 
V

vibram

Compagnon
Lors de mes recherches il m'avait semblé que cubemx permet uniquement de configurer les pins et après on passait sur keil pour le reste.
Je vais regarder de nouveau
 
L

LETARTARE

Compagnon
Bonjour,
peut-être voir 'emIde32', qui est une spécialisation de 'Code::Block' pour les cartes embarquées, il faudra alors utiliser une ligne de commande pour le téléchargement du code dans la carte SMT32 (voir 'Stm32_Flash' et les 'sources' ).
C'est une piste que j'explore actuellement.
Bonne soirée.
 
Dernière édition:
S

stef1204

Compagnon
Sur une discussion similaire quelqu'un a montré un exemple développé sur CubeMX. C'est beaucoup plus simple que Keil. Je ne sais pas si le code est portable sur toutes les cartes STM32.

Il ne faut pas mélanger ….:neo_xp:

Keil est un compilateur, ces microcontrôleurs sont très complexes et on peut facilement se perdre et perdre des jours sans écrire une ligne de code d’application uniquement en paramétrant le tout.



CubeMX est un plugin pour Microxplorer, l’ensemble sert à configurer d’une manière graphique et en principe facilement le paramétrage, le tout génère du code C qui est utilisable dans un compilateur tel que Keil ou autre.


Maintenant Arduino et Arm …

Je n’ai aucune expérience en Arduino mais ce que je peux dire c’est le code généré pour un Arduino classique n’est pas compatible avec le code ARM, idem pour les librairies faisant appel aux fonctions du « cœur » du CPU.
 
Dernière édition:
V

vres

Compagnon
Il ne faut pas mélanger ….:neo_xp:
Je ne mélange rien, comme je l'ai précisé je ne connais pas cubeMX, jai vu la capture écran et j'ai pensé que cela pouvait intéresser Vibram c'est tout.
Néanmoins merci pour tes précisions.
 
N

nopxor

Compagnon
Bonjour,
il existe pas mal d'IDE pour les STM32 les 2 les plus connus sont KEIL et EWARM-IAR.
Ce sont des outils pros payants, mais il existe une version "free" pour chacun si le code est < 32K.

La configuration des nombreux périphériques des STM32 est une tache lourde.
Le cubeMX (outil ST gratuit) est très pratique car il génère le code de configuration des pérphériques automatiquement.
Il génère du code pour KEIL et EWARM mais aussi pour TrueSTUDIO, l'IDE d'ATOLLIC.
A noter que la version "free" de cet IDE (TrueSTUDIOlite) n' a pas de limite en taille de code.
C'est certainement une alternative de choix pour les amateurs.

Ci-joint un lien qui récapitule les différents IDE pour STM32:
http://www.emcu.it/STM32/What_shoul...d_I_use_to_develop_on_STM32.html#Introduction

edit:
CubeMX peut générer aussi du code pour SW4STM32:
System Workbench for STM32: free IDE on Windows, Linux and OS X
http://www.openstm32.org/HomePage
 
Dernière édition:
S

stef1204

Compagnon
Je ne mélange rien, comme je l'ai précisé je ne connais pas cubeMX, jai vu la capture écran et j'ai pensé que cela pouvait intéresser Vibram c'est tout.
Néanmoins merci pour tes précisions.

J’ai une licence officielle Keil 8051 depuis 1986 si mes souvenirs sont bons.

J’ai développé en ARM il y a quelque années, Keil ce sont des outils de développement TOP, il n’y a à ce niveau que quelques sociétés, une licence pro ARM c’est plus de 8000€ !
 
V

vibram

Compagnon
et un code identique envoyé via keil ou via eclipse sera fonctionné/interpreté pareil ?
Je demande car ce n'est pas le cas avec stm32duino

Tentative de test du sketch hier mais les chiffres ne varient pas si je bouge le codeur, je ne vois pas trop d'ou vient le probleme, l'ensemble est pas bien compliqué pourtant et le code est correctement alimenté...
 
V

vres

Compagnon
et un code identique envoyé via keil ou via eclipse sera fonctionné/interpreté pareil ?
Je demande car ce n'est pas le cas avec stm32duino

Tentative de test du sketch hier mais les chiffres ne varient pas si je bouge le codeur, je ne vois pas trop d'ou vient le probleme, l'ensemble est pas bien compliqué pourtant et le code est correctement alimenté...

Tu as quoi comme carte ? tu as branché ton codeur sur quelles PINs ?

une licence pro ARM c’est plus de 8000€ !

La version Lite est à 1300€ chez Farnell. Elle me suffit amplement. Je refait une carte tout les 20ans :wink:
 
S

stef1204

Compagnon
je les ai branché en direct, sans résistance ou je ne sais quoi entre

upload_2017-6-20_8-44-6.png
 
V

vibram

Compagnon
ah oui je suis peut etre allé un peu vite en besogne ... :wink:
je pense qu'il y a aussi cet histoire de dénomination de timer.

En revanche, jâi l'impression que les composants sont surtout là pour le debounce alors que je devrais quand meme avoir un signal sur mes entrées non ?
 
S

stef1204

Compagnon
ah oui je suis peut etre allé un peu vite en besogne ... :wink:
je pense qu'il y a aussi cet histoire de dénomination de timer.

En revanche, jâi l'impression que les composants sont surtout là pour le debounce alors que je devrais quand meme avoir un signal sur mes entrées non ?

Si tu débute avec ARM je te conseille de trouver un programme démo simple sur le net pour ton CPU, teste le sur ta carte, si ça fonction tu pars de ce programme que tu adapte pour ton application.

Sinon tu risques de perdre beaucoup de temps pour le faire fonctionner sans compter les frustrations.
 
V

vibram

Compagnon
c'est exactement ce que je fais, j'ai fait un premier portage de projet arduino -> stm32duino
Puis là j'ai testé un blink, puis LCD puis le codeur...
Mais le manque de temps me fait travailler trop vite et du coup je fais des conneries (cf le branchement du codeur)

je me suis offert ca:
https://leanpub.com/mastering-stm32
 
S

stef1204

Compagnon
En revanche, jâi l'impression que les composants sont surtout là pour le debounce alors que je devrais quand meme avoir un signal sur mes entrées non ?

On ne laisse pas une entrée “flottante” qu’on utilise dans un programme, soit 0 ou 1, raison de le “tirer” à 1 par la résistance.

Tu peux facilement tester si lire ton entré flottante est lue correctement en la laissant non connectée en faisant une lecture du port et la sortir sur un autre port ou afficher sur un display si tu en a un qui est connecté.
 
V

vibram

Compagnon
OK merci de l'astuce !
je vais voir quand est ce que je peux tester ca d'ici ce weekend.
Petit à petit ... !
 
V

vres

Compagnon
tu peux aussi remplacer GPIO_Mode_IN_FLOATING par GPIO_Mode_IPU pour mettre l'entrée en PullUp. Ca évite la résistance
 
S

saico

Apprenti
Pour le STM32F103C8 il y’en a seulement quatre timers TIM1,…TIM4 et biensûr le « SysTick » qui est propre à l’architecture ARM donc présent dans tout les processeurs et microcontrôleurs ARM.

Tout les quatre timers sont utilisables en mode « encoder » à condition que les pins, qui correspondent aux canaux CH1 et CH2 de chaque timer, ne soient pas occupés par d’autres périphériques

Exemple : si l’ USART1 est active, on ne pourra pas utiliser le timer1 et le timer4 en mode « encoder » au même temps, donc l’un ou l’autre.

Dans ton cas le timer TIM4 réponds très bien aux besoins de ton application.
 
V

vibram

Compagnon
OK merci de ces précisions.
Je corrige vos bouts de code des que je trouve un moment :wink:
 
V

vibram

Compagnon
J'ai fait un test tres rapide, en ajoutant juste les condensateur (je ne retrouvais pas mes résistances ) + les modifications proposées par saci et CNCSERV mais pour le montant ca ne fonctionne toujours pas.

aujourdhui jai eu du temps à midi pour dessiner la pièce de fixation de l'encodeur sur la broche
upload_2017-6-21_14-43-43.png


upload_2017-6-21_14-44-0.png


je vais me prendre un moment tranquille ce weekend pour reprendre à 0 le branchement du codeur sur le board avec les condo et les résistances et je verrai !
 
R

Rebus

Compagnon
J'ai fait un test tres rapide, en ajoutant juste les condensateur (je ne retrouvais pas mes résistances ) + les modifications proposées par saci et CNCSERV mais pour le montant ca ne fonctionne toujours pas.

aujourdhui jai eu du temps à midi pour dessiner la pièce de fixation de l'encodeur sur la broche
Voir la pièce jointe 344271

Voir la pièce jointe 344272

je vais me prendre un moment tranquille ce weekend pour reprendre à 0 le branchement du codeur sur le board avec les condo et les résistances et je verrai !

C'est beau ! peut être un peu trop beau pour faire des essais.

Moi, j'ai fait appel à Saint OFER (j'ai pas fait de dessin).

Cordialement.
 
S

stef1204

Compagnon
J'ai fait un test tres rapide, en ajoutant juste les condensateur (je ne retrouvais pas mes résistances ) + les modifications proposées par saci et CNCSERV mais pour le montant ca ne fonctionne toujours pas.

J’ai appris une chose avec les microprocesseurs que j’ai commencé à programmer en 1975-76 … hé oui ça fait un bail. :smileyvieux:

Tester vite fait c’est pas comme en mécanique, on lime de trop ou pas assez cela n’empêchera pas de fonctionner ce qu’on réalise mais avec des processeurs le vite fait c’est un million de chances que ça ne fonctionne pas sur que ça fonctionne.:smt116

Toujours tester si un programme ne tourne pas au plus bas niveau, c.a.d éventuellement dans la première boucle mettre une sortie à 1 et vérifier, si ça passe lire une entrée et la reporter sur une sortie …. Si on dispose d’outil « ICE » (In Circuit Emulator) pour débugger cela rend le tout plus facile. :smt115
 
Dernière édition:
V

vibram

Compagnon
je ne peux être plus d'accord :wink:
c'est pour cela que je vais arrêter de perdre 10 min à chaque essai et je vais prendre un moment pour faire cela proprement :wink:
Tu as trouvé ton PAP?
 
S

saico

Apprenti
Bonsoir,

@vibram, je confirme que la routine d’initialisation citée plus haut est fonctionnelle sans aucun problème, j’ai fait un « test rapide » et ça fonctionne sans souci. Voir la video.

Bonne soirée !

 
V

vibram

Compagnon
bonsoir ou bonjour :wink:
merci pour le test !
A ce que je vois tu t'es branché en direct (ni resistance ni condensateur)
J'ai repassé 30min dessus hier, impossible d'avoir quelque chose de fonctionnel.Le schema mis dans les messages précédents n'est pas hyper clair pour moi mais j'ai fait ce que j'ai pu
J'utilise ce codeur
https://fr.aliexpress.com/item/400-...s-Incremental-Optical-Rotary/32725917082.html
J'ai essayé, le codeur alimenté en 5v et en 9v ainsi qu'en 24v ...
Mais je n'ai pas d'oscillo pour le tester
Ce weekend, je ferai le montage sans tout mon bordel autour et je vous prendrai une photo
 
V

vres

Compagnon
qu'en 24v ...

Ca je ne suis pas certain que le STM est apprécié si les sorties ne sont pas à collecteur ouvert.
Tu as un multimètre ?
Tu peux déja vérifier la tension en A et en B sur différentes positions
 

Sujets similaires

Père-Pendiculaire
Réponses
23
Affichages
628
Père-Pendiculaire
Père-Pendiculaire
N
Réponses
27
Affichages
683
Jean 47
J
2
Réponses
27
Affichages
1 231
jean-jacques
J
C
Réponses
0
Affichages
3 464
caramel
C
B
Réponses
19
Affichages
2 013
boumboauto
B
tournele
Réponses
106
Affichages
14 427
tournele
tournele
Haut