Nous avons 17 invités et aucun membre en ligne

 La communication série est est très répendu puisqu'elle est simple d'utilisation. Dans un précédent article, j'ai expliqué son fonctionnement de base : https://pbelectronique.com/site/index.php/projets-et-schemas/252-serie

Dans cette vidéo, je fais la démonstration de l'intégration du module UART dans le microcontrôleur STM32. Premièrement, il suffit de configurer le module UART en mode asynchrone dans le logiciel cubeMX. Ensuite, vous pouvez utiliser ces deux fonctions pour transmettre et recevoir sur le port série de votre STM32 :

HAL_UART_TRANSMIT(&huart1, "BONJOUR", 7, 1000);

Le premier paramètre est l'adresse du module UART utilisé. Lorsqu'on génère le cubeMX, il nous attribue automatiquement un typedef à notre module. Ensuite, le second paramètre est le message à transmettre. Soit une chaine de caractère, soit un tableau de caractère. Le troisième paramètre est le nombre d'élément à transmettre (habituellement le même nombre de caractère que dans le deuxième paramètre. Finalement, le quatrième paramètre est le temps maximal pour transmettre l'information en millisecondes.

HAL_UART_RECEIVE(&huart1, &TableauReception, 1, 1000);

Tout comme la transmission, la réception se fait très facilement. Le premier paramètre est le même que la transmission. Le deuxième paramètre est un tableau où l'information reçue sera enregistrée. Le troisième est la quantité de données à recevoir et le quatrième est encore une fois le temps de réception maximale.

Les deux méthodes que je vous ai présenté sont des fonctions par polling (qui attend les données), mais il est possible de les exécuter plus rapidement avec les fonctions par interruptions et par DMA.

Abonnés et Abonnés VIP
<--- Code en C modifiable