Bonjour,
voici mon premier message sur ce forum, j'espère que vous pourrez m'aider ! (Je ne recherche en aucun cas une solution, juste de l'aide pour m'aider à comprendre mon sujet ! )
Je réalise un projet sur un microcontroleur de la gamme ST : le STM32F303K8. (je test mes programmes sur la carte NUCLEO correspondant au microcontroleur)
J'ai réalisé le Pinout de la carte sous CubeMX, logiciel de chez ST aussi, et je code avec le compiler SW4STM32 (system workbench for stm32) sous eclipse.
Alors voilà, j'arrive actuellement par exemple à set/reset une pin, et dans le cadre de mon projet, je dois créer un timer.
Pour l'instant je ne recherche pas à créer un timer avec un temps précis, alors partons sur un timer de 1µs.
J'ai lu la datasheet, le manual reference du composant, je comprend le principe des registres etc... mais dans le code c'est tout autre chose.
J'aimerais avoir de l'aide pour comprendre comment réussir à mettre en place un timer (par exemple le timer 2 du composant, étant donné que le timer 1 à l'air plus complexe), mais aussi comment calculer le temps du timer ?
J'ai des bases sur la programmation de PIC16F, où la création d'un timer ne me posait pas de problèmes, mais actuellement, je nage complètement chez les STM32.
Je viens donc poster ici, pour - si vous le voulez- vous puissiez partager vos connaissances STM32. (même quelque chose sur les clocks me ferait du bien).
Concernant les librairies, je ne comprend pas comment on peut les connaitre et les utiliser.
Selon le manual reference, il y a des registres à initialiser, par exemple pour activer la clock d'un port (ex : RCC_AHBENR). Il faut mettre le bit IOPxEN à 1 pour un port x. Mais dans le code généré par CubeMX, c'est tout autre chose.
Je dispose d'exemple sur d'autre carte de la carte STM32 (STM32F207..), où l'utilisateur utilisait des librairies comme :
__HAL_RCC_GPIOA_CLK_ENABLE();
pour activer la clock du port A. (ce qui est beaucoup plus simple en soit). mais alors comment avoir tous les types de noms de librairies, je n'ai vu nul part cela dans le manual reference. Ai-je donc louper quelque chose ?
Voilà, si vous pouvez m'éclairer sur le sujet, me donner des exemples de timer, ou de configuration de timer ou même m'expliquer les différentes configuration du timer.
Voilà, bonne journée à vous, en esperant avoir été assez clair malgré ma demande assez confuse.
-----