 Dans cette module, nous allons utiliser et configurer un périphère de communication. En ce cas, un UART. Donc, ce que nous allons faire, c'est d'utiliser le debugging de printf en utilisant un UART. L'objectif de cet appareil est de redirecter l'output de printf à l'output de l'USM32G0. Ce qui est connecté à l'USM32G0 sur le newcomer de l'USM32G0. Donc, en utilisant un terminale, comme le terme, nous allons vérifier l'output de printf. Donc, le PA2 et le PA3 de l'USM32G0 peuvent être configurés comme fonction alternative pour l'USM32G0. Ils sont connectés à l'USM32G0, qui est situé sur le top de l'USM32G0. Et c'est ce que nous allons utiliser. Nous allons redirecter le printf en utilisant l'output de l'USM32G0 sur le newcomer de l'output de printf. Dans cette table, nous allons évoquer les différences entre les différents outils de l'USM32G0. Donc, comme vous pouvez le voir, l'outil 1 et 2 sont les plus avancés, parce qu'ils soutiennent tous les outils listés ici. Alors que l'USM32G0, qui est l'outil de l'USM32G0, ne soutient pas les modes synchroniques, les modes IRDA ou les modes LEAN. Mais nous verrons que l'USM32G0 a des bonnes outils pour travailler dans l'outil de l'USM32G0. L'USM32G0 peut s'opérer dans l'USM32G0 5.4, qui s'évoge ou s'évoge de l'outil de l'USM32G0. L'USM32G0 vient de transmettre l'USM32G0 5.4, qui est l'USM32G0 TX5.4, et la receiver 5.4, l'USM32G0 5.4, chaque 8 data deep. L'USM32G0 TX5.4 est 9 bit wide, l'USM32G0 5.4 est 12 bit wide. Pourquoi 12 bit ? Parce que sur le top de la date, nous avons aussi des éros associés à chaque caractère, comme parité, éros, éros, éros et éros. Donc, il est possible que l'USM32G0 TX5.4 et l'USM32G0 5.4 sont collés par le clac. Il est possible de transmettre et recevoir des données, même dans le stop mode. Il est possible de configurer les thresholds TX5.4 et RX5.4, qui ont besoin d'évoquer des soucis au cours des sujets, en réveillant des stop modes. Le sondage de l'universel, Asynconus Receiver Transmitter, a donné une communication de la communication de l'USM32G0, à 9600 bords. Donc, quand l'USM32G0 est collé par l'USM32G0, c'est l'extrême de l'USM32G0. Les sujets de l'USM32G0 sont riches, quand l'USM32G0 est collé par des sources de clac différents que l'USM32G0. Les applications peuvent bénéficier de la connexion facile et inexpensive entre les dévices, en prenant seulement un peu de pince. En plus, l'USM32G0 TX5.4 est fonctionnel dans le mode de l'USM32G0. Il s'agit de transmettre et recevoir des fours que nous avons présentés avec la capacité d'acheter et recevoir en mode de stop. C'est le diagramme de block de l'USM32G0. La source de clac de l'USM32G0 peut être le PCK-Cloch APB-Cloch, le clock système, le clock de l'USM32G0, l'oscillateur de l'internel speed 60MHz, l'HSI 16MHz, ou l'LSC, qui est le oscillateur de l'oscillateur de l'oscillateur de l'oscillaire de l'oscillaire. Le clac de l'USM32G0 est ensuite divisé par un calme priscaleur de value 1 à 256. Tx et Rx pins sont utilisés pour la transmission data et la réception. Ncts et Nrts pins sont utilisés pour le Rs-242 Hardware Flow Control. Le pin driver, donc DE, qui est disponible sur le same I.O. comme Nrts, est utilisé dans le Rs-485 mode. Maintenant, c'est temps pour le lab. Nous allons créer un nouveau projet dans STM32-QMX. Nous allons commencer par le scratch. Nous pouvons cliquer sur le bouton de la maison. Et ensuite, nous allons commencer par le scratch. Nous allons sélectionner l'accès à un sélecteur MCU. Et de là-bas, dans la fenêtre de recherche, située là-bas, nous allons chercher STM32-G071RB. Et quand nous avons la sélection, nous allons double-cliquer sur STM32-G071RB-Tx. Dans STM32-QMX, nous allons cliquer sur le bouton de la maison. Nous allons retourner vers la page de la maison de STM32-QMX. Et maintenant, nous allons cliquer sur l'accès à un sélecteur MCU. Nous allons sauver notre projet depuis avant. Dans la nouvelle fenêtre de recherche, nous allons cliquer sur STM32-G071RB. Et là-bas, nous allons cliquer sur le bouton de la maison de STM32-G071RB. Maintenant, dans la fenêtre de recherche et de configuration, nous allons cliquer sur l'accès à un sélecteur MCU. Dans l'accès à un sélecteur MCU, nous allons cliquer sur le mode Asynchronous. Donc, quand nous avons sélecté, nous allons sélectionner par défaut PC0 et PC1 pour l'HPUR1 à des fonctions. Mais parce que sur le bouton, nous avons les PA2 et PA3 qui sont connectés à l'Astilink Vietrol Comports. Nous allons donc remapper les PC0 et PC1 pour PA2 et PA3. Alors, nous allons expérimenter la connectivité et cliquer sur l'HPUR1. Maintenant, pour le mode, nous allons sélectionner l'Asynchronous. Donc, nous allons sélectionner PC0 et PC1 par défaut. Nous allons remapper à PA2 et PA3. Et maintenant, nous allons remapper le contrôle et le hold, et ensuite le drap et le drap. Donc, maintenant, nous avons PA2 et PA3 qui sont configurés pour l'HPUR1 à des fonctions. Comme nous l'avons. Maintenant, nous allons sélectionner la configuration Clock. Donc, nous allons aller dans le tab Configuration Clock et nous voulons rouler le microcontroller à 64 MHz. Donc, pour faire ça, dans le tab HCLK, nous allons entrer 64 MHz et ensuite entrer. Donc, nous allons sélectionner 64 MHz pour le microcontroller et aussi 64 MHz pour l'HPUR1. Donc, nous allons cliquer sur la configuration Clock et nous allons entrer 64 MHz, qui est la configuration maximum Clock. Donc, nous allons laisser le tour trouver la solution. Donc, ici, nous sommes en train de rouler de l'HSI avec le PLL. Et nous avons aussi 4 HPUs à 1, 64 MHz de l'HPCLK, donc de l'HPB Clock. Maintenant, nous allons configurer l'HPU à 1. Donc, pour faire ça, nous allons retourner vers le tab Configuration. Nous avons sélectionné l'HPU à 1. Et ensuite, dans la Windows Configuration, nous allons cliquer sur Parameter Settings et entrer le suivant paramètres. Donc, pour le Baud Rate, 115 200, pour le Length des mondes, nous allons entrer 8, pour 8 bits, Parity, donc nous avons non, et 1 Bit pour Stop. Donc, nous allons retourner vers le Tab Configuration dans la Windows Configuration de l'HPU à 1. Nous allons sélectionner 115 200 pour le Length des mondes, nous allons entrer 8 bits, Parity, non, et pour le Baud Rate, 1. Ok, donc nous avons terminé. Maintenant, dans le project manager, nous allons entrer le nom du projet, ou comme printf, pour exemple. Nous allons générer ça dans la même location que nous avons fait avant ou dans une autre location de votre choix. Et nous allons sélectionner mdkarmv5 pour l'ID. Donc, quand nous avons installé tous ces paramètres, nous allons cliquer sur Generate Projects et puis, dans le nouveau Code Generation Window, nous allons cliquer sur Open Projects pour ouvrir notre projet. Maintenant, nous allons entrer le projet Manager Tab, nous allons donner un nom au projet, comme printf. Donc, la location est ok, nous allons le garder comme ça, et nous allons sélectionner mdkarmv5 pour l'ID. Maintenant, nous allons cliquer sur Generate Code, puis nous allons cliquer sur Open Projects. Maintenant, nous allons ajouter un code pour redirecter la fonction de printf. Pour faire ça, nous allons ajouter un autre piece de code, donc la première chose que nous allons ajouter est l'incrude de stdio.hLibrary. Ensuite, nous allons ajouter un poudkar prototype dans cette section, et la troisième code pour être ajoutée sera la fonction de redirectation en utilisant le uArt. Le code pour être ajouté est dans la description de la vidéo. Donc, s'il vous plait, s'il vous plait, ou dans les commentaires, et copying et paster la pièce différente de code que vous avez besoin. Vous avez besoin de cette, donc l'incrude de stdio. Et puis, pour l'incrude, appuyez sur le code et à votre point de vue. Et pour l'incrude, vous allez apprendre un code de redirectation et puis pour l'incrude de s'occuper, et puis pour l'incrude, vous allez pouvoir acheter un code de reconnectation et vous allez pouvoir avoir votre procédure. Alors, pourpaper, vous pouvez treser votre code et vous allez pouvoir libraire.h donc include stdio.h maintenant dans la section pfp ou un autre, mais juste comme exemple, nous allons ajouter cette fonction de prototype donc la même chose, le code peut être trouvé dans la description de la vidéo donc vous pouvez juste copier et paster ou entrer dans le manuel il n'y a pas beaucoup de codes pour être à l'arrivée ici, maintenant dans notre loop, nous allons ajouter un code, donc l'application code pour utiliser la fonction de printf, donc juste ajouter un printf, hello world, le typique hello world avec une délai de 1 seconde, donc ce que nous voulons faire c'est de displays hello world chaque seconde sur notre terminale donc nous allons ajouter cette code, nous allons ajouter le code pour l'application dans le loop, donc le printf, chaque seconde, ok, on dit ceci, maintenant on peut construire le projet, donc le projet de construire le target, puis entrer dans la session debug, rouler le code, et nous pouvons ouvrir un terminale, tu sais, des softwares comme Terre-Term, donc c'est celui que nous pouvons utiliser, connectez à l'application de la comporte de sceaux, avec les 108 settings, donc les mêmes settings que nous utilisons pour la configuration de lpuart, donc 115 ou 200 bogues, ou des bits par seconde, puis 8 bits pour le data, no parity, et 1 bit pour le stop, alors nous devons voir des displays hello world chaque seconde sur notre terminale So let's check this out. Let's build the project. So build button remember or F7. The code built successfully. Now we can enter debug session, debug, start debug. We can now run the code. So using the run button right here or F5. Now I'm going to open tera term. So right here double click on it. I'm going to connect to the comports associated to the std in virtual comports. So by clicking serial and selecting so this one. And then okay now I'm going to configure the serial ports to be 100, 15, 200, 801. And now I see the yellow world messages that are being displayed correctly on our tera term.