-------- XSERTEST -------- Version 1.0 ----------- par T.Jaouen Date:12/10/91 Introduction: ------------- XSERTEST permet de tester les ports séries. L'emploi de XSERTEST demande un minimun de connaissance pour fonctionner correctement: en effet, XSERTEST n'est qu'une interface vis à vis du matériel, et un paramétre erroné peut rapidement planter votre micro. XSERTEST est écrit en TP6 (SANS Turbo Vision), avec l'unité XSER.TPU version 1.55. (Se référer à la doc de XSER 1.55 pour des compléments techniques). Fichiers fournis: ----------------- XSERTEST.EXE Logiciel pour tester vos cartes séries. XSERTEST.CFG Configuration possible (simple exemple). XSERTEST.DOC Le fichier que vous lisez en ce moment. INFO.DOC Informations générales sur les cartes séries. XSER.TPU Unité en TP6, de gestion des ports séries. XSER.INT Partie interface (public) de XSER.TPU. XSER.DOC Documentation destinée aux programmeurs. EXEMPLE1.PAS Exemples de programmes... EXEMPLE2.PAS ... EXEMPLE3.PAS ... Lancement: ---------- XSERTEST [Entrée <+ ] Erreur: ------- Une erreur pourrait se produire si le fichier de configuration donné en exemple "XSERTEST.CFG" ne correspond pas à votre configuration matériel. Dans ce cas, veuillez supprimer ce fichier. (En prenant soin d'en garder une copie de sauvegarde !). Configuration: -------------- XSERTEST supporte des options: Elles commencent toujours par un "slash" ("/") suivi d'un ou plusieurs caractères. Dans certains cas, l'option est munie d'informations complémentaires. Les options peuvent être écrites dans n'importe quel ordre. Exemple: XSERTEST /ega /bw Les options peuvent être rassemblées dans un fichier texte que vous nommerez "XSERTEST.CFG". Description des options: ------------------------ Il y a 3 types d'options: ------------------------- - Les options associées à un paramètre dont elles sont séparées par le signe "=". Exemple: /COM=1,$3F8,4 - Les options concluent par le signe "+" ou "-". le signe "+" signifiant l'activation, et le signe "-" la désactivation de l'option. Exemple: /BW+ /OM- Note: Le signe "+" peut être omis. - Les options se suffisent à elles-mêmes. Exemple: /EGA Les options: ------------ /ACT+- : Autorise ou non l'activation des COM déjà définis. Par défaut: /ACT+ /BW+- : Force ou non l'affichage en noir & blanc. /CGA : Force l'affichage en mode CGA (80x25 couleur) Par défaut: sélection automatique /CKAT= : Installation du "CheckUp" sur l'IRQ 8. (Cela n'est possible que sur un compatible AT) /CKAT=vitesse (0..15) La vitesse permet de definir le nombre d'interruptions par seconde. 2^(vitesse+1) = nombre d'interruptions par seconde. /CKNO : Aucun "CheckUp" n'est installé. /CKXT= : Installation du "CheckUp" sur l'IRQ 0. /CKXT=vitesse (0..15) La vitesse permet de definir le nombre d'interruptions par seconde. 18.2*2^vitesse = nombre d'interruptions par seconde. /COM= : Définit un port série: Syntaxe compléte: /COM=n°COM (1..16), adresse registre, n°IRQ (0..15), taille tampon sortie, taille tampon entrée /EGA : Force l'affichage couleur sur 43 ou 50 lignes. /MDA : Force l'affichage en monochrome (pour carte mono). /VER+- : Active ou non la verification de l'existence d'un port série à l'adresse (UART) indiqué. Par défaut: /VER+ /WIN= : Définit la position d'une fenêtre. Syntaxe compléte: /WIN=n°fenêtre,colonne,ligne Note: Les paramétres numériques peuvent être exprimés aussi bien en décimal, qu'en hexadecimal, ou en binaire ... Exemple: COM=1,1016,4 1016 en décimal COM=1,$3F8,4 1016 ($3F8) en héxadécimal COM=1,3F8h,4 1016 (3F8h) en héxadécimal COM=1,%1111111000,4 1016 en binaire... COM=1,1111111000b,4 1016 en binaire... Caractéristiques d'un port série: --------------------------------- +--touche d'appel (ALT+X) Numéro port série--+ | | | | | +----- COMX ·X-----+ Adresse des registres------UART: ¦¦¦¦ ¦RDA ¦ \ Numéro IRQ à utiliser------IRQ : ¦¦ ¦OVRN¦ \ ¦ +-----------¦PAR.¦ }(3) /-----BAUD: ¦¦¦¦¦¦FRA.¦ }Etat de la ligne (5)Contrôleur de ligne/ ¦ ¦PAR.: ¦¦¦¦ ¦BRK ¦ }(non modifiable) \ ¦ ¦DATA: ¦ ¦THRE¦ } \-----STOP: ¦¦ ¦TSRE¦ / ¦ +-----------¦TOUT¦ / (6) Etat d'envoi BREAK---------BRK ¦DTR +----¦ ¦--------¦RTS ¦CTS ¦ \ (4) (1) Mode de contrôle------- CLOSE ¦OUT1¦DSR ¦ \ Etat du Modem ¦--------¦OUT2¦RING¦ / (non modifiable) (2) Affiche ce qui +------OUT: ¦¦¦¦LOOP¦DCD ¦ / est envoyé-----+ ¦----------|-------¦ ¦IN: ¦¦¦¦¦¦|¦¦¦¦¦¦¦¦ +------|---|-------+ | | Affiche ce qui est reçu--+ | (non modifiable) | | (7) Contrôleur du modem--+ Généralité: ----------- - Pour utiliser l'une des fenêtres, il faut d'abord l'activer ( ou l'appeller) en utilisant la combinaison de touche: ALT + Touche associé. Exemple: s'il s'agit du COM1, enfoncez les touches ALT et puis 1 . - Une fois une fenêtre COM activée, le curseur apparaît: Vous pouvez déplacer le curseur en utilisant les touches faites pour le curseur... Le curseur n'ira que sur des champs dont vous pouvez modifier le contenu, où effectuer une action. Pour tout les champs, on modifie leur contenu, ou induit une action en utilisant les touche PgUp et PgDn: (les touches fléchées et barrées par 3 traits...) (1) - Mode de contrôle ---------------- Il y a 2 états possibles, et il est important de bien les distinguer: - CLOSE : Le contrôle du port série est fait directement en controlant les registres, SANS UTILISER L'IRQ, ET SANS UTILISER LE NOYAU DE COMMUNICATION "XSER". IL N'Y AUCUN "BUFFERISATION" DES DONNEES RECUS OU EMISES. (En gros, ne fait n'y plus n'y moins ce que fait notre bon vieux DOS) - OPEN : Le contrôle du port série est fait en utilisant le noyau XSER, ET EN UTILISANT L'IRQ TELLE QU'ELLE A ETE PARAMETREE. IL Y A "BUFFERISATION" DES DONNEES RECUS ET EMISES... (2) - OUT: ---- Une fois placé sur ce champ, ce que vous frappez au clavier est directement envoyé sur la ligne, comme une donnée. Si vous tapez "PgDn" : les caractéres de codes ASCII entre 33 et 127 sont envoyés sur la ligne. Si vous tapez "PgUp" : la phrase "Portez ce vieux whisky au juge blond qui fume" est envoyée sur la ligne. Note: Rien ne pourra être envoyé si les champs RTS et/ou DTR ne sont pas activés !!! (il s'agit d'une contrainte physique et logique) (3) - Etat de la ligne: ----------------- RDA : Donnée reçue, en attente. OVRN : Erreur: Une donnée reçue n'a pas été lu à temps. une nouvelle donnée l'a écrasée. PAR. : Erreur: Mauvaise parité. FRA. : Erreur: Pas de bit STOP. BRK : Erreur: Signal BREAK sur la ligne. THRE : Prêt à envoyer la donnée suivante TSRE : Donnée précédente totalement transmise. TOUT : "Time Out" ou inutilisé. (4) - Etat du Modem: -------------- CTS : Modem prêt à recevoir. DSR : Modem prêt à émettre. RING : Détection d'un appel DCD : Detection d'une porteuse (communication établie) (5) - Contrôleur de ligne: -------------------- BAUD : Vitesse de communication: 75, 150, 300, 600, 1200, 2400, 4800, 9600, 19200 ou 38400. PAR. : Parité des données: Aucune (NONE), Impaire (ODD), Paire (EVEN) DATA : Longueur d'une donnée: 5, 6, 7 ou 8 Bits. STOP : Nombre de bits STOP: 1 (ou 1½), ou 2. (6) - Etat d'envoi BREAK: ------------------- BRK : Maintenir desactiver. (7) - Contrôleur du Modem: -------------------- DTR : Port série prêt à recevoir. RTS : Port série prêt à émettre. OUT1 : ??? OUT2 : Autorisation de l'emploi de l'IRQ. LOOP : Bouclage du circuit sur lui-même (pour test matériel). Adresse des registres et IRQ: ----------------------------- L'adresse des registres et le numéro d'IRQ associé à un port série ne sont définissable qu'une seule fois: - soit en utilisant l'option /COM=.... - soit au moment de la première activation L'adresse des registres ne peut jamais être nulle, et par défaut, il y a un test rudimentaire afin de verifier que l'adresse correspond bien à celle des registres d'un port série. Le test peut echouer: voir l'option /VER. IRQ NONE: --------- En cours d'utilisation ( et tant que la communication est "CLOSE"), vous pouvez sélectionner l'IRQ: NONE. Cela signifie que lors de l'ouverture ("OPEN"), le noyau mettra un mécanisme pour remplacer l'IRQ. Cette simulation est faite en allant consulter régulierement et souvent l'état des registres des ports séries avec l'IRQ NONE. La vitesse de consultation des registres est paramétrable avec les options /CKXT ou /CKAT. Cette vitesse doit être déterminée en fonction de la vitesse de communication maximale souhaitée... Pour que l'IRQ NONE fonctionne, il faut utiliser l'option /CKXT ou /CKAT. Si vous avez un XT, et ne souhaitez pas dépasser les 2400 bauds, utilisez: /CKXT=4 (Il y aura simulation de 291.2 interruptions/s, via l'IRQ 0) Si vous avez un AT, et ne souhaitez pas dépasser les 2400 bauds, utilisez: /CKAT=7 (Il y aura simulation de 256 interruptions/s, via l'IRQ 8) Correspondance entre XSERTEST et XSER (le noyau): ------------------------------------------------- Lors de l'ouverture d'une communication: ComX.Init() Lors de la fermeture: ComX.Done Pour supporter les ports séries avec IRQ NONE, voir les procedures "CheckUp". ---------------------- +----------------------------------------------------------------------------+ ¦Le logiciel "XSERTEST" version 1.0 est dans le Domaine Public. ¦ ¦Ce logiciel et sa documentation ne peuvent pas faire l'objet d'une ¦ ¦transaction commerciale. ¦ ¦Ils peuvent être copiés et utilisés sans restriction, cependant ils ne ¦ ¦doivent pas être modifiés. ¦ ¦L'auteur ne peut pas être tenus responsable de dommages directs ou indirects¦ ¦découlant de l'utilisation de ce logiciel. ¦ ¦Tous droits réservés. ¦ ¦Copyright (C) T.Jaouen, 1991 ¦ +----------------------------------------------------------------------------¦ ¦Vous pouvez contacter l'auteur par minitel: ¦ ¦ tel.: 3614 code du service: TEASER boite aux lettres: LOGICOS ¦ +----------------------------------------------------------------------------+ Thierry JAOUEN , le 12 octobre de l'an 1991.