Le premier site francophone dédié au développement Pocket PC


Le contrôle liaison série (partie 1)
 
   

 

Partie 1

Introduction

Le port série permet à votre Pocket PC de communiquer avec d'autres matériels. Ces matériels peuvent être des ordinateurs, des machines industrielles, des modems, d'autres Pocket PC, ou tout simplement des cartes électroniques simples(voir le reportage sur la borne intéractive Pocket PC). On appelle ce mode communication "série" car les données sont envoyées et reçus bit après bit (rappel, 1 octet est composé de 8 bits).

Le composant 'Microsoft CE Comm Control 3.0'

eVB est fourni avec un contrôle qui permet de piloter le port série de votre Pocket PC. Pour l'utiliser dans vos projets il faut cocher sa référence dans la liste des composants.

 

Ceci permettra de place' sur une fenêtre eVB le contrôle de communication par liaison série et ainsi d'accéder à ses fonctions.

Un port série ou plusieurs ?

Votre Pocket PC possède en fait plusieurs ports séries. Le premier est celui que vous pouvez utiliser avec ActiveSync et le cable série, le second est celui qui utilise le port infrarouge (IRDA). Ca c'est le coté physique, coté logique, ces ports peuvent être gérés de différentes manières, grâces à des drivers spécifiques.

L'excellent utilitaire système 'Pocket Tools' de Citadel Development permet de visualier l'organisation des ports de commnunication d'un Pocket PC. Sur un iPAQ 3630 ça donne l'écran ci contre.

 

Vous pouvez aussi observer le détail des ports 1, 2 et 3. Le port 1 (com1) est un vecteur cablé, les ports 2 (com2) et 3 (com3) sont 2 versions logiques du même port physique, le port infrarouge, seul le driver change.

Tout cela nous indique que depuis eVB, si l'on veut travailler avec le port série cablé, il faut activer le com1, en ce qui concerne le port infrarouge, c'est le com2 qui sera utilisé.

Les bases de la communication série

Pour permettre à deux matériels de communiquer entre eux par liaison série, ils doivent parler dans le tuyau au même rythme et avec les mêmes signes de reconnaissance. Ces paramètres sont au nombre de 4

Vitesse

Une communication série sa passe à une certaine vitesse. Cette vitesse correspond au nombre de bits transmis par secondes, soit des bauds. Les vitesses sont normalisées, et les ports série de nos Pocket PC sont capables de transmettre à partir de 300 bits/seconde, jusqu'à 115000 bits/seconde.

Type de parité

Il existe 5 types de parités différents qui sont 'Paire', 'Impaire', 'Marque', 'Sans parité' et 'Espace' et qui sont codées de la manière suivantes :

N
None Pas de parité
E
Even Paire
O
Odd Impaire
M
Mark Marque
S
Space Espace

Format des données

Il est possible d'indiquer que les données transmises sont codées sur 4, 5, 6, 7 ou 8 bits

Nombre de bits de stop

Les valeurs possibles sont 1, 1.5 et 2

Donc, avant d'ouvrir le port série, il faut le paramètrer

Le contrôle de communication série doit donc être correctement paramètré avant d'être utilisable. C'est la propriété 'Settings' (qui est une chaine de caractères) qui permet ce paramètrage. Cette chaine est composée de la vitesse en baud, de la parité, du nombre de bits de données et du nombre de bits de stop, le tout séparé par des virgules.

Note: Dans les exemples, on part du principe que le contrôle de communication série s'appelle Comm1.

Pour un liaison série à 9600 bauds, 8 bits de données, pas de parité et 1 bit de stop on doit écrire :

Comm1.Settings = "9600,N,8,1"

Il faut aussi indiquer quel port on utilise, pour cela la propriété 'CommPort' est initialisée avec le numéro du port que l'on utilise. Les numéros 1 à 16 sont autorisés, mais il faut biensûr choisir un numéro de port qui correspond à la réalité. Pour indiquer le com1, on écrit :

Comm1.CommPort = 1

Ensuite on peut l'ouvrir

L'action d'activer le port paramètré s'appelle l'ouverture. C'est la propriété 'PortOpen' qui le permet. Cette propriété nous retourne aussi l'état du port (ouvert = True, fermé = False). Pour ouvrir il faut écrire :

Comm1.PortOpen = True

Si le port est déjà ouvert (par votre application ou une autre) ou que les paramètres ne sont pas valides, l'ouverture échoue et eVB genère une erreur que vous pouvez gérer (erreur 8005, périphérique non disponible).

Pour libérer le port précedement ouvert, il suffit d'écrire :

Comm1.PortOpen = False

Conclusion partie 1

Voila, vous savez en gros ce qu'est une liaison série et comment travailler avec en utilisant le contrôle eVB dédié à cela. Dans la prochaine partie, nous allons envoyer des données et en recevoir.

Stéphane Sibué

 
       
   
 
   
Copyright 2001-2004 - Tous droits réservés
 
   

iPAQ est un produit de COMPAQ.
Visual Tools est un produit de Microsoft Corporation.
Toutes les autres marques et produits présents dans ces pages sont la propriété exclusive de leurs sociétés respectives.