il est souvent utile d'enregistrer l'évolution d'un signal sur une très longue période, pour étudier des phénomènes lents à l'aide d'un enregistreur sur papier, comme pour les appareils médicaux ou météorologiques. Mais l'amateur est vite confronté au problème du prix de cet équipement. Ce petit système peu coûteux, permet d'enregistrer numériquement quatre canaux analogiques. Il est piloté par un PC via un port série à l'aide d'un programme écrit pour WINDOWS 95.
Le système que nous vous proposons est dédié à l'acquisition de signaux lents. C'est pourquoi nous avons limité volontairement sa vitesse d'acquisition à 1/10e de seconde. Ce choix, qui peut sembler arbitraire, est lié au choix de la taille mémoire nécessaire pour enregistrer les échantillons. Pour conserver au système un coût raisonnable nous avons décidé de limiter la mémoire à un boîtier courant de 32K octets (RAM 62256). Etant donné que notre système dispose de quatre canaux, cela signifie que, dans le meilleur des cas, nous pouvons compter sur 8192 échantillons par canal. Dans ces conditions, avec une vitesse d'acquisition de 1/10e de seconde, l'appareil sera en mesure d'enregistrer les données pendant 13 minutes et 39 secondes. Ce n'est pas extraordinaire, mais ce n'est pas si mal non plus. Bien entendu, l'appareil est capable de modifier sa vitesse d'acquisition, ce qui permet d'augmenter le temps total de capture. En fait l'appareil peut faire varier sa vitesse d'acquisition de 10 échantillons par seconde à un échantillon toutes les 25,5 secondes. Cela permet d'enregistrer des données sur deux jours et 10 heures en vitesse lente.
Le schéma synoptique de notre montage est reproduit ci-contre. Comme vous pouvez le constater, l'architecture du système est relativement simple. L'utilisation du circuit TLC541IN y est pour beaucoup car ce circuit est prévu pour dialoguer avec un microcontrôleur au moyen d'une liaison asynchrone. Dans ce cas, il n'est pas nécessaire de raccorder le circuit aux bus du microcontrôleur et il n'est pas nécessaire de prévoir un décodage d'adresse pour accéder aux registres du convertisseur. Le résultat est qu'il est possible de concevoir le système sur un circuit imprimé simple face, ce qui arrange bien nos affaires.
Le microcontrôleur U1 que l'on voit sur le schéma de l'unité centrale est un modèle 80C32. Ce microcontrôleur ne dispose pas de mémoire EPROM interne. Il faut donc lui adjoindre une EPROM externe pour contenir le programme à exécuter. Pour notre application, une EPROM de type 27C64 suffira largement. Le bus des données du microcontrôleur est multiplexé avec le poids faible du bus des adresses de sorte qu'il est nécessaire d'ajouter le circuit latch U2 pour réaliser le démultiplexage. Cette structure permet simplement de limiter le nombre de broches du microcontrôleur, ce qui est intéressant lorsque l'on utilise un modèle avec EPROM interne (87C51 par exemple). Le circuit U2 est synchronisé le plus simplement du monde grâce au signal ALE généré par le microcontrôleur.
La mémoire externe (U5) ajoutée au microcontrôleur sera tout naturellement reliée aux mêmes bus que l'EEPROM U4. Il faut donc prévoir un décodage d'adresse pour que les deux circuits ne tentent pas de prendre le contrôle du bus en même temps. Habituellement, la fonction de décodage de l'espace mémoire d'un microcontrôleur, selon les opérations demandées (lecture ou écriture), est une fonction relativement complexe. On fait même souvent appel à un circuit PAL pour regrouper les différentes portes logiques nécessaires dans un seul boîtier. Dans le cas de notre montage, nous pouvons nous passer de tout cela car le découpage de l'espace mémoire est très simple. Le signal -PSEN valide l'EPROM pour tout l'espace programme, tandis que les signaux -RD, -WR et A15 valident la RAM pour l'espace de données allant des adresses 0000H à 7FFFH. La conséquence de ce décodage sommaire est que l'image de l'EPROM sera visible plusieurs fois dans l'espace programme du microcontrôleur. Mais comme il n'y a pas de recouvrement entre ces images, le programme pourra s'exécuter sans encombre.
L'oscillateur du microcontrôleur est mis en oeuvre de la façon la plus classique qui soit: le quartz QZ1 est branché aux bornes de la porte inverseuse, interne au microcontrôleur, avec les condensateurs nécessaires pour garantir le bon démarrage et entretenir les oscillations. Le choix de la valeur des condensateurs est lié aux caractéristiques de la porte, et il est très délicat de modifier arbitrairement cette valeur.
Le microcontrôleur nécessite un signal de remise à zéro actif à l'état haut. C'est un peu contraire à ce qui se fait habituellement pour les circuits logiques, mais dans la mesure où nous n'avons qu'un seul circuit à remettre à zéro cela n'est pas bien gênant. Il suffit d'intervertir la position du condensateur et de la résistance de la cellule R/C habituellement utilisée pour générer un signal de remise à zéro. Dans notre cas de figure, la cellule de remise à zéro est constituée de R1 et C3. Notez que pour remettre manuellement le microcontrôleur à zéro il faut imposer un court-circuit au +VCC sur l'entrée RESET, d'où la présence de JP1 aux bornes de C3, et non pas entre le RESET et la masse.
Pour dialoguer avec un ordinateur compatible IBM/PC nous avons retenu une liaison de type RS232. C'est une liaison beaucoup plus tolérante aux fausses manoeuvres que de relier directement les signaux du microcontrôleur à un port parallèle par exemple. De plus, pour une liaison bidirectionnelle, le choix d'une liaison RS232 est bien plus naturel et plus simple à mettre en oeuvre du point de vue logiciel. En contre partie, il faut adapter les signaux logiques du microcontrôleur (0V et 5V) aux signaux d'une liaison RS232 (+12V et -12V). Il existe de nombreux circuits spécialisés pour réaliser cette adaptation et nous n'avons que l'embarras du choix. Dans notre cas de figure, puisque notre appareil ne sera alimenté que par une tension positive, il faudrait utiliser un convertisseur DC-DC pour générer la tension négative pour fournir le -12V nécessaire à la liaison RS232. Fort heureusement, il existe des circuits intégrés spécialisés (et très répandus) qui intègrent tout ce qu'il faut. C'est le cas notamment du circuit MAX232 qui, à l'aide de seulement quatre petits condensateurs, est capable d'adapter des niveaux TTL aux niveaux d'une liaison RS232, avec pour seule source d'alimentation une tension de 5V. Si vous lisez ces pages régulièrement vous devez d'ailleurs commencer à bien connaître ce circuit.
Pour le port série, notez que seuls les signaux RXD (réception de données) et TXD (transmission de données) sont traités par le circuit MAX232 (U3). Les signaux de contrôle de flux sont rebouclés entre eux, directement sur le connecteur CN2. Cette configuration est souvent employée pour simplifier au maximum le câblage et la gestion du point de vue du logiciel. Cela signifie que le flux des données transmises via la liaison série ne pourra pas être interrompu. Du coté du PC les signaux RTS et CTS seront bouclés ensemble, ainsi que les signaux DTR, DCD et DSR. Si le PC tente d'interrompre la transmission, notre appareil n'en tiendra pas compte et il continuera d'émettre, et vice versa. La conséquence directe de ce choix, c'est qu'il faut s'assurer des deux côtés de la liaison que les équipements sont assez rapides pour absorber sans retard le flux des données. Dans le cadre de notre application, c'est possible car les PC actuels sont bien assez rapides pour traiter des données à 9600 Bauds et du côté du microcontrôleur le protocole mis en place est suffisamment simple pour garantir le temps de réponse nécessaire.
Notez que du côté PC le programme a été écrit pour WINDOWS et que ce dernier met en oeuvre une gestion des ports séries avec des buffers largement dimensionnés pour notre application. Nous n'avons donc pas de soucis à avoir, à moins que de nombreux programmes 'tournent' en tâche de fond sur votre PC au moment où vous établirez le dialogue avec le système (car il faut bien que le temps CPU soit partagé entre vos applications).
Comme nous l'avons déjà indiqué, la carte sera alimentée par une tension unique qui pourra aller de 9VDC à 12VDC. La tension fournie au montage n'a pas besoin d'être stabilisée. Une tension correctement filtrée fera très bien l'affaire. Pour ce faire, vous pourrez utiliser un bloc d'alimentation d'appoint pour calculatrice capable de fournir 300mA sous 12VDC. Le régulateur REG1 se chargera de fournir la tension VCC nécessaire aux circuits. Le montage est protégé contre les inversions de
polarité au niveau du connecteur d'alimentation grâce à la diode D1, de sorte que vous n'avez pas grand-chose à craindre au moment de mettre le montage sous tension. Etant donné le prix d'une diode se serait dommage de se passer de ce genre de protection.
Abordons maintenant la partie analogique de notre appareil qui dévoile le convertisseur TLC541IN (U6) et les amplificateurs d'entrée associés. Comme vous pouvez le constater, nous n'avons utilisé que quatre entrées du circuit U6, sur les 11 possibles. Ce choix est très simple à expliquer. Comme nous l'avons dit en introduction, la mémoire de l'appareil est limitée à 32 Koctets, ce qui permet d'enregistrer 8182 échantillons pour 4 canaux. Si nous avions utilisé les 11 canaux possibles il n'aurait été possible d'enregistrer que 2978 échantillons par canal, ce qui ne permet même pas de couvrir 5 minutes à la vitesse de 10 échantillons par seconde. Voila pourquoi nous avons préféré limiter l'utilisation du circuit à 4 entrées. Dans ce cas, on pourrait penser qu'il vaut mieux utiliser un autre circuit, qui ne dispose que de 4 entrées. Si l'on compare les différents circuits disponibles actuellement on s'aperçoit finalement que le TLC541IN est un choix intéressant tant au niveau du coût qu'au niveau de la simplicité de raccordement au microcontrôleur (donc simplicité du dessin du circuit imprimé).
La partie logique du circuit U6 est pilotée directement par les ports du microcontrôleur, ce qui arrange bien nos affaires. C'est le signal d'horloge SYSCLK qui rythme tous les cycles de conversion réalisés par le circuit U6. Les temps de conversion sont étroitement liés à la fréquence du signal SYSCLK. Cependant, pour le circuit TLC541IN la fréquence du signal SYSCLK est limitée à 2,1MHz. Notre microcontrôleur étant cadencé à 12MHz nous ne pouvions donc pas utiliser directement son signal d'horloge. Il aurait donc été logique d'ajouter un diviseur d'horloge pour piloter le circuit U6. Mais étant donné que notre système est dédié à la capture de signaux lents, les temps de réponse du convertisseur ne sont pas trop critiques. Pour se passer du diviseur, et du problème que représente la charge de l'entrée d'un diviseur connecté à l'oscillateur du microcontrôleur, nous avons décidé de générer le signal SYSCLK par logiciel. Une routine d'interruption associée au TIMER0 du microcontrôleur se chargera de produire un signal d'horloge d'une fréquence de 100kHz, ce qui est suffisant pour nos besoins.
La surcharge de travail demandée au microcontrôleur pour générer le signal SYSCLK est relativement importante vue la période du signal voulu. Mais comme par ailleurs, le travail demandé au microcontrôleur n'est pas très important, cela reste envisageable. N'oublions pas qu'un microcontrôleur 80C32 cadencé à 12MHz est capable d'exécuter pas loin d'un million d'instructions simples par seconde, ce qui est considérable.
Le signal CSN est un signal de sélection actif à 0V tout à fait classique. Puisque le circuit U6 est relié seul au microcontrôleur, nous aurions pu laisser CSN à la masse. Mais pour éviter les problèmes, en cas de perturbations électromagnétiques, nous avons préféré laisser le soin au microcontrôleur d'activer le circuit U6 seulement le temps nécessaire.
Le signal DATOUT est utilisé pour transmettre le résultat de la conversion A/D tandis que le signal ADDIN est utilisé pour informer le circuit U6 du canal que l'on souhaite convertir. Les signaux DATOUT et ADDIN sont utilisés conjointement avec le signal d'horloge IOCLK pour transmettre les données de façon synchrone.
La tension de référence appliquée au circuit TLC541IN n'est autre que la tension VCC (+5V). Le circuit effectue des conversions sur 8 bits, ce qui signifie que le résultat de la conversion est exprimé dans une unité qui vaut 19,5mV. Par exemple si le résultat de la conversion est 80H (80H vaut 128 en base décimale) cela signifie que la tension présente sur l'entrée est de 128 x 0,0195 = 2,456V. La précision du convertisseur étant de 0,5 bit, le résultat de la mesure et donc précis à 9,75mV. Pour notre exemple, cela signifie que la tension d'entrée est comprise entre 2,358V et 2,644V. En réalité, il faut tenir compte aussi de la précision de la tension VCC qui ne sera pas exactement à 5V. A titre d'exercice, nous vous laissons refaire le calcul en tenant compte d'une tolérance sur la tension VCC de 5%.
Pour le circuit TLC541IN, lors de la phase d'échantillonnage du signal d'entrée (Sample en anglais) l'impédance de sortie du circuit qui pilote l'entrée a une forte influence. Pour minimiser l'erreur de mesure il convient de diminuer au maximum cette résistance. Pour vous permettre de vous affranchir de cette condition nous avons ajouté des amplificateurs "Rail to Rail" monté en étages suiveurs devant chaque entrée du circuit TLC541IN. L'impédance dynamique de sortie des amplificateurs opérationnels est vraiment très faible de sorte que le problème évoqué disparaît totalement. Nous en avons profité, au passage, pour ajouter un circuit de protection sur les entrées à l'aide d'une simple résistance associée à des diodes de "clamp". Tant que la tension appliquée en entrée ne dépasse pas -0,5V et VCC+0,5V les diodes ne conduisent pas, et donc la chute de tension dans la résistance de protection est infime (car les amplificateurs opérationnels ont une impédance d'entrée très élevée). Par contre si la tension d'entrée dépasse les limites, les diodes entrent en conduction et permettent de limiter la tension appliquée sur l'entrée de l'amplificateur opérationnel. La résistance de protection en série avec l'entrée encaisse alors la différence de tension.
Cette protection a bien sûr des limites. La principale est la puissance admise par la résistance en série. Avec les éléments choisis pour notre montage, la protection est efficace jusqu'à plus de 100V. Par sécurité, fixez-vous la limite de 50V , pour limiter le courant qui serait injecté à contre sens sur VCC. Les amplificateurs retenus pour le montage sont alimentés par la tension VCC uniquement de sorte que le signal appliqué en entrée devra être positif seulement. Le circuit U7 (AD824) possède 4 amplificateurs opérationnels "Rail to Rail", c'est à dire des amplificateurs opérationnels dont les sorties peuvent approcher les limites de la tension d'alimentation. Ce n'est pas le cas des amplificateurs opérationnels "classiques" pour lesquels il faut prévoir une chute de tension de l'ordre de 1V à 1,5V, tension appelée tension de déchet. Les amplificateurs "Rail to Rail" permettent donc à notre montage de tirer pleinement profit de la plage de conversion du circuit U6, puisque la tension de référence de ce dernier est fixée à VCC.
En contre partie, le circuit U7 possède un point faible: la tension appliquée sur ses entrées ne doit pas dépasser VCC de plus de 0,3V sinon apparaît un phénomène de repliement. Par exemple si vous appliquez 5,3V sur l'entrée tandis que le circuit est alimenté sous 5V, la sortie passera à 0V. De même si vous appliquez -0,3V sur l'entrée, la sortie passera à 5V. Il faut donc être vigilant dans l'interprétation des données, lorsque l'on s'approche des limites des tensions d'alimentation. Ceci est d'autant plus vrai que notre schéma de protection limite l'excursion de la tension d'entrée à 0,6V en dehors de la page de la tension d'alimentation. Le problème de repliement peut donc apparaître avec notre schéma. Il est possible de limiter le phénomène en utilisant des diodes schotky pour les diodes D2 à D9, mais le problème ne sera pas éliminé complètement. Comme il y a de fortes chances pour que vous soyez obligé d'ajouter un circuit d'adaptation en amont du montage, en fonction des équipements que vous connecterez (par exemple un pont diviseur pour mesurer l'image d'une tension de 12V) nous vous laissons le soin de veiller à ne pas dépasser 5V sur les entrées , pour ne pas fausser les mesures. Cela dit, si vous ne le faites pas, les entrées du montage ne risquent rien puisqu'elles sont protégées.
de diamètre, pour la plupart. En ce qui concerne D1, REG1 et les borniers à vis il faudra percer avec un foret de 1mm de diamètre. Avant de passer à l'implantation des composants, n'oubliez pas de percer les trous de passage des vis pour le régulateur et le connecteur CN2. Comme d'habitude, procurez-vous les composants avant de dessiner le circuit, au cas où il vous faudrait adapter un peu l'implantation. Cette remarque concerne particulièrement CN2.
Il n'y a pas de difficulté particulière pour l'implantation. Soyez tout de même attentifs au sens des diodes, des condensateurs et des circuits intégrés. Attention en particulier au sens des condensateurs C4 et C8 qui sont montés dans le sens inverse de leurs voisins respectifs . De plus, les diodes D2 à D9 sont montées dans un sens différent selon la colonne où elles prennent place. Respectez scrupuleusement le découplage des lignes d'alimentation si vous voulez éviter les surprises désagréables. Les condensateurs C10, C11 et C12 sont indispensables pour le bon fonctionnement du montage. Vous noterez la présence de 8 straps qu'il est préférable d'implanter en premier pour des raisons de commodité. Il y a un strap sous U4 et un strap sous U5 que vous ne pourrez plus installer du côté composant par la suite. Le régulateur REG1 sera monté sur un dissipateur ayant une résistance thermique inférieure à 17°C/W, pour éviter d'atteindre une température de jonction trop élevée.
Veillez au choix du connecteur CN2 qui est un modèle femelle. Un modèle mâle s'implante parfaitement à la même place, mais les points de connexion se retrouvent inversés par symétrie par rapport à l'axe vertical. Dans ce cas, il n'y a aucune chance pour que votre montage dialogue avec votre PC, à moins de fabriquer un câble spécial pour rétablir l'ordre voulu. En ce qui concerne le câble nécessaire pour relier notre montage à un PC de type AT, il vous suffira de fabriquer un câble équipé d'un connecteur DB9 mâle d'un côté et d'un connecteur DB9 femelle de l'autre côté (liaison fil à fil de la broche 1 à la broche 9). L'utilisation de connecteurs à sertir est plus pratique, mais les liaisons nécessaires étant peu nombreuses vous pourrez utiliser des connecteurs à souder. Enfin ajoutons que le connecteur CN2 sera immobilisé par deux boulons montés dans les passages prévus à cet effet. Cette précaution ne sera pas inutile puisque le connecteur CN2 à de forte chance de subir de nombreuses manipulations de changement de câble.
Utilisation du montage
Dans un premier temps, afin de vérifier que l'appareil fonctionne correctement, pour dialoguer avec l'appareil vous pouvez utiliser un programme d'émulation de terminal (HYPERTERMINAL
fourni en standard avec WINDOWS 95, par exemple). Les paramètres de communication
utiliser avec notre appareil sont: 9600 bauds,
Stop, pas de parité. A la mise sous tension
montage vous devriez voir apparaître le message d'accueil. Si vous envoyez le caractère 'CR'
l'appareil (touche ENTREE) celui-ci doit vous répondre par le caractère '?'. Partant de là, vous saurez déjà que votre appareil dialogue correctement avec le PC.
Le protocole de communication mis en place est extrêmement simple. Les commandes à envoyer à l'appareil se composent d'un seul caractère ASCII. Pour configurer la vitesse d'acquisition, il faut envoyer à l'appareil le caractère 'V' suivit d'un octet qui indique le nombre de dixièmes de seconde à attendre entre l'échantillonnage des canaux. Pour saisir le chiffre voulu à partir du clavier du PC sous une émulation terminal, il faut maintenir appuyée la touche ALT et entrer le code au clavier numérique sur trois chiffres.
Pour démarrer la phase d'acquisition, il suffit d'envoyer à l'appareil le caractère 'G', et pour l'arrêter il faut envoyer à l'appareil le caractère 'U'. Pour demander la lecture des échantillons en mémoire il ne reste plus qu'à envoyer à l'appareil le caractère 'R'. Les données sont émises par le système sous forme de texte ASCII en notation hexadécimale. Les échantillons des quatre canaux sont regroupés sur une seule ligne par cycle d'échantillonnage. La première valeur affichée correspond au canal A, la seconde correspond au canal B, etc. Les valeurs sont séparées par un espace et la ligne se termine par les caractères retour chariot et saut de ligne. Avouez que le protocole n'est pas bien méchant.
Utiliser l'appareil avec une émulation de terminal c'est amusant, mais cela n'est pas très utile. Pour exploiter efficacement les données, nous avons écrit un programme pour WINDOWS 95 qui se chargera pour vous de dialoguer avec l'appareil. Les données reçues seront interprétées par le programme pour afficher les courbes correspondantes à l'écran et pour les imprimer. Le programme en question s'appelle ENREGIST.EXE. Il sera installé en même temps que les fichiers nécessaires à la programmation de l'EPROM.
Le programme ne fonctionne qu'avec WINDOWS 95 ou WINDOWS NT. Sur un PC équipé de WINDOWS 3.1 avec l'extension WIN32S, l'application accepte de démarrer mais elle ne fonctionne pas correctement. Malheureusement pour les lecteurs qui ne sont pas encore passés à WINDOWS 95, il est très difficile de maintenir deux versions du programme pour fonctionner aussi bien en mode 16 bits comme en mode 32 bits. Les fonctions de communication avec le port série, en particulier, sont complètement différentes de sorte que l'auteur a dû se résoudre à ne développer le programme que pour une plate-forme récente. Par ailleurs, il faut noter que dans les années qui viennent, il faut s'attendre à voir disparaître totalement les applications en mode 16 bits. Donc, si vous n'avez pas encore franchi le pas, vous rencontrerez le même problème tôt ou tard. Si l'idée de passer à WINDOWS 95 ne vous tente vraiment pas, notez que puisque le protocole de communication de notre appareil est très simple vous devriez pouvoir créer vous-mêmes un programme facilement sous DOS ou sous WINDOWS avec des outils tels que DELPHI ou VISUAL BASIC (pour sa part, l'auteur développe en C++).
Abordons maintenant le fonctionnement du programme. Lors de la première mise en route du programme ce dernier recherche l'appareil sur le port série COM1, par défaut. Si vous utilisez une souris connectée sur ce port série, elle sera bloquée pendant environ 2 secondes, le temps que le programme comprenne que ce n'est pas notre système qui est relié au port série. Dans ce cas le programme affichera une boîte de dialogue pour vous avertir qu'il a détecté un problème de communication avec l'appareil. La première opération à demander ensuite au programme consiste à modifier les options pour choisir le port série adéquat (menu OPTIONS). Lorsque le programme se terminera, les options que vous aurez choisies seront enregistrées automatiquement dans la base des registres. Ainsi, vous n'aurez pas besoin de modifier à nouveau les options, lors de l'ouverture de la prochaine session du programme. Pour le reste, l'utilisation du programme est évidente grâce à l'interface de WINDOWS, aussi nous passerons sous silence l'explication des différents choix proposés par le menu. Après quelques minutes de manipulation du programme vous saurez déjà vous en servir.
Notez que la fonction d'impression proposée par le programme se contente de reproduire le contenu de la fenêtre affichée. Si vous redimensionnez la fenêtre, le résultat imprimé ressemblera à ce qui est affiché, à la différence d'échelle près. Il y aurait beaucoup à redire quant à l'ergonomie du programme et au résultat de l'impression, mais faute de temps pour développer une application au 'look' vraiment professionnel, l'auteur a préféré s'en tenir à l'essentiel.
Les fichiers enregistrés par le programme possèdent un format relativement simple à exploiter, si vous avez envie d'effectuer un traitement sur les données qu'il contient. A partir de l'offset 0 du fichier on trouve tout d'abord un entier codé sur 32 bits qui indique le nombre d'échantillons enregistrés par chaque canal. Suivent les valeurs des échantillons regroupées par bloc de 4 octets qui correspondent respectivement aux canaux A, B, C et D, dans l'ordre. Pour chaque cycle d'échantillonnage, vous trouverez un bloc de 4 octets.
Notez encore juste un détail qui vous sera utile lorsque vous demanderez au programme de lire le contenu de la mémoire de l'appareil. Avec une vitesse de transmission de 9600 bauds la lecture de la mémoire de l'appareil peut prendre jusqu'à deux minutes (et plus selon le PC), en raison du protocole de transmission retenu. En effet les données sont transmises en mode texte à raison de 12 octets pour relire les échantillons provenant de chaque canal. Toujours pour une question de temps de développement l'auteur n'a pas prévu de fonction qui permettrait d'interrompre les communications (seules les erreurs sont détectées). Pour permettre d'interrompre la fonction de lecture il aurait fallu mettre en place un 'Thread' de lecture et gérer une boîte de dialogue pendant le transfert des données. Faute de temps pour ajouter ces fonctions, l'auteur a décidé de laisser le programme dans l'état. Donc, lorsque vous demandez la lecture des données, soyez patient si le nombre d'échantillons en mémoire est important. En contre partie de ce ralentissement des communications, il est possible de dialoguer et de visualiser les données émises par l'appareil directement à partir d'une émulation terminal, ce qui vaut bien une petite minute d'attente supplémentaire.
P. MORIN
Comment faire enregistreur numérique.
comment fabrique
comment creer
0 Comments