Sur le cul ! C'est la première fois que je m'intéresse à ces choses, je découvre donc. Et c'est exactement l'information dont j'ai besoin pour en comprendre le fonctionnement. Exactement. Ces leçons décrivent les détails techniques en profondeur, mais, - et c'est là où se trouve le bonheur -, expliquent également le b.a.-ba des microcontrôleurs, que les amateurs connaissent par cœur, mais que le néophyte découvre avec une clarté déconcertante. J'espère que vous enseignez ! Bonne journée.
Merci pour ces mots qui donnent du courage 🙂 Pour l'anecdote, en 1994 j'avais tenté de passer le CAPET (concours de prof en électronique) et à l'oral un inspecteur de l'éducation nationale m'avait dit droit dans les yeux "Monsieur vous êtes incapable d'enseigner". Du coup 0/20 éliminatoire...👿 Et quelques jours après j'ai réussi l'agrégation...
Super vidéo cher collègue, bravo pour tout ce travail ! Un point qui pourrait être ajouté et qu'il me semble important de savoir : une ADC est longue (par rapport à l'exécution d'une instruction), et il faut attendre avant de lire le résultat converti (et pas besoin par contre pour les DAC, moins longues). Ici c'est caché dans la fonction read, mais en pratique on doit parfois gérer la chose, par ex. avec les fonctions CMSIS fournies par ARM.
et mon autre commentaire 🙂 : l'histoire de la limite aux 9 écritures est effectivement directement lié au buffer d'envoi de l'UART qui doit saturer. Les 25us des premiers tours sont bien inférieurs au temps nécessaire pour envoyer une chaîne "Bonjour" (en gros 10*10/115200, donc un peu moins de 1 ms par chaîne à la louche). Du coup quand on a fait les 9 boucles, l'UART a bien noté qu'il a 9 chaînes à envoyer, mais n'a pour le moment envoyé en gros qu'un quart de la première. Pour vider tous les buffers, il lui faudra donc une attente ~ de 8 ms, pas très éloignée des 10000 us que tu mentionnes. Si la fonction printf de l'UART était mieux écrite, elle ne tenterait pas de vider tous les buffers quand il y a saturation, mais juste 1, et tu enverrais toutes les ms environ, comme tu le proposes ensuite.
Sur le cul !
C'est la première fois que je m'intéresse à ces choses, je découvre donc. Et c'est exactement l'information dont j'ai besoin pour en comprendre le fonctionnement. Exactement. Ces leçons décrivent les détails techniques en profondeur, mais, - et c'est là où se trouve le bonheur -, expliquent également le b.a.-ba des microcontrôleurs, que les amateurs connaissent par cœur, mais que le néophyte découvre avec une clarté déconcertante.
J'espère que vous enseignez !
Bonne journée.
Merci pour ces mots qui donnent du courage 🙂 Pour l'anecdote, en 1994 j'avais tenté de passer le CAPET (concours de prof en électronique) et à l'oral un inspecteur de l'éducation nationale m'avait dit droit dans les yeux "Monsieur vous êtes incapable d'enseigner". Du coup 0/20 éliminatoire...👿
Et quelques jours après j'ai réussi l'agrégation...
Super vidéo cher collègue, bravo pour tout ce travail ! Un point qui pourrait être ajouté et qu'il me semble important de savoir : une ADC est longue (par rapport à l'exécution d'une instruction), et il faut attendre avant de lire le résultat converti (et pas besoin par contre pour les DAC, moins longues). Ici c'est caché dans la fonction read, mais en pratique on doit parfois gérer la chose, par ex. avec les fonctions CMSIS fournies par ARM.
ظحزححححححزحزظظظححزحزحزحححززحظحزحظظظزحزحزحزححححزحزحزححزززححزححزححزحززححزححزححزحزحزحزحزحح
حزحزظحزظححححزحححزححزحزحزححزححززحزححزححححزحزححححزظحححزحززححزحزححححزحزححزحححزحححححزح
et mon autre commentaire 🙂 : l'histoire de la limite aux 9 écritures est effectivement directement lié au buffer d'envoi de l'UART qui doit saturer. Les 25us des premiers tours sont bien inférieurs au temps nécessaire pour envoyer une chaîne "Bonjour" (en gros 10*10/115200, donc un peu moins de 1 ms par chaîne à la louche). Du coup quand on a fait les 9 boucles, l'UART a bien noté qu'il a 9 chaînes à envoyer, mais n'a pour le moment envoyé en gros qu'un quart de la première. Pour vider tous les buffers, il lui faudra donc une attente ~ de 8 ms, pas très éloignée des 10000 us que tu mentionnes. Si la fonction printf de l'UART était mieux écrite, elle ne tenterait pas de vider tous les buffers quand il y a saturation, mais juste 1, et tu enverrais toutes les ms environ, comme tu le proposes ensuite.