Fascicule TP de :
Systèmes de communication
Réalisé par :
JEBRI Elies
Niveau d’enseignement :
Informatique Quatrième Niveau
1999/2002
Matière : Sys Com
Professeur : Elies JEBRI Travaux pratiques Durée 3 h
Classe : II 4
Etablissement : ISET Nabeul
N° 1
Critères de réussite
Objectif :
Réaliser une application de manipulation du port série avec le langage Visual Basic.
Introduction :
Pour manipuler le port série sous Visual Basic on doit utiliser le contrôle
MSCOMM.VCX. Ce contrôle ne se trouve pas par défaut sur la barre d’outils standard de
VB, il faut donc l’ajouter. Procédez comme suit. Dans le menu Projet cliquer sur
Composants…, dans l’onglet Contrôles cherchez Microsoft Comm Control 6.0 puis cochez la
case correspondante et cliquez sur OK. Ce composant apparaît dans la barre de
composants, cliquez dessus et placez le sur la fiche de travail.
Le contrôle MSComm offre à votre application des fonctionnalités de communications série
en autorisant la transmission et la réception de données par l'intermédiaire d'un port série.
Description de MSComm
Chaque contrôle MSComm utilisé correspond à un port série spécifique. Si vous devez
accéder à plusieurs ports série dans votre application, vous devez utiliser plusieurs contrôles
MSComm. L'adresse du port et celle de l'interruption peuvent être modifiées à partir du
Panneau de configuration de Windows.
Le contrôle MSComm est doté de nombreuses propriétés importantes, dont voici les plus
importantes :
Propriétés Description
Le tampon de réception
La propriété Input est utilisée pour stocker et récupérer des données dans le tampon de
réception. Par exemple, si vous souhaitez récupérer des données du tampon de réception et les
afficher dans une zone de texte, vous pouvez utiliser le code suivant :
TxtDisplay.Text = MSComm1.Input
Cependant, pour récupérer la totalité du tampon de réception, vous devez d'abord affecter la
valeur 0 à la propriété InputLen. Vous pouvez le faire au moment de la création ou de
l'exécution.
Il est également possible de recevoir les données entrantes sous forme de données texte ou
binaires en affectant à la propriété InputMode l'une des constantes Visual Basic suivantes :
comInputModeText ou comInputModeBinary. Les données seront récupérées sous forme de
chaîne ou de données binaires dans un tableau d'octets. Utilisez comInputModeText pour les
données utilisant le jeu de caractères ANSI et comInputModeBinary pour tous les autres types
de données, tels que les données comportant des caractères de contrôle, Null, etc.
À la réception de chaque octet de données, celui-ci est placé dans le tampon de réception et la
valeur de la propriété InBufferCount est incrémentée d'une unité. Cette propriété peut alors
être utilisée pour récupérer le nombre d'octets contenus dans le tampon de réception. Vous
pouvez également purger le tampon de réception en affectant à cette propriété la valeur 0.
Le tampon d'émission
La propriété Output est utilisée pour envoyer des commandes et des données au tampon
d'émission.
Comme la propriété Input, les données peuvent être envoyées sous forme de données texte ou
binaires. Cependant, la propriété Output doit envoyer des données texte ou binaires en
spécifiant une chaîne ou un Variant de type tableau d'octets.
Vous pouvez envoyer des commandes, des chaînes de texte ou des données d'un tableau
d'octets avec la propriété Output. Par exemple :
' Envoie une commande AT
MSComm1.Output = "ATDT 555-5555" & vbcr
Exemple :
Private Sub MSComm_OnComm ()
Select Case MSComm1.CommEvent
' Traite chaque événement ou erreur en insérant du
' code sous chaque instruction Case
' Erreurs
Case comEventBreak ' Un signal d'arrêt a été reçu.
Case comEventCDTO ' Erreur de délai d'attente Détection de
porteuse.
Case comEventCTSTO ' Erreur de délai d'attente Prêt à
émettre.
Case comEventDSRTO ' Erreur de délai d'attente Modem prêt.
Case comEventFrame ' Erreur de trame
Case comEventOverrun ' Données perdues.
Case comEventRxOver ' Dépassement de la capacité du tampon de
réception
Case comEventRxParity ' Erreur de parité.
Case comEventTxFull ' Tampon de transmission plein.
Case comEventDCB ' Erreur inattendue lors de l'extraction du
bloc de
' contrôle de périphérique]
' Événements
Case comEvCD ' Modification dans la ligne Détection de
porteuse.
Case comEvCTS ' Modification dans la ligne Prêt à émettre.
Case comEvDSR ' Modification dans la ligne Modem prêt.
Case comEvRing ' Modification dans l'Indicateur d'appel.
Case comEvReceive ' Nombre de caractères indiqué
' par la propriété RThreshold reçus.
Case comEvSend ' Nombre de caractères indiqué
' par la propriété SThreshold
' dans le tampon de transmission.
Case comEvEof ' Caractère de fin de fichier
' trouvé dans le flux en entrée
End Select
End Sub
2 3
COM 1 COM 2
Station 1 Station 2
COM 2 COM 1