DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de gestion de Windows / Fonctions Ports série et parallèle
  • Fonctionnement
  • Spécificités Android et Widget Android
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Ouvre et initialise :
  • soit un port série.
  • soit un port parallèle.
  • soit un port infrarouge. Dans ce cas, seule la deuxième syntaxe est disponible.
Les valeurs par défaut sont les suivantes :
  • Taux de transfert : 9600 Bauds
  • Parité : Aucune
  • 8 bits de données
  • 1 bit stop
AndroidWidget Android La gestion des ports parallèles et infrarouges n'est pas disponible.
// Ouverture de IR1 (en utilisant le nom du port)
IR1 = sOuvre("IR1", 2000, 2000)
SI IR1 <> 0 ALORS
// Paramétrage de IR1
sFixeParamètre(IR1, 9600, 1, 8, 1)
// Suite traitement...
// Fermeture de IR1
sFerme(IR1)
SINON
Erreur("Erreur d'ouverture de IR1")
FIN
Syntaxe
AndroidWidget Android Non disponible en Linux, Android et Widget Android

Ouvrir et initialiser un port en spécifiant son numéro Masquer les détails

<Résultat> = sOuvre(<Numéro de port> , <Taille du buffer d'entrée> , <Taille du buffer de sortie> [, <Durée d'attente> [, <Gestion des événements>]])
<Résultat> : Booléen
  • Vrai si le port a été ouvert et initialisé,
  • Faux dans le cas contraire.
<Numéro de port> : Entier
Numéro du port concerné :
  • Numéro du port série : 1, 2, 3, ... 256 pour COM1, COM2, COM3, ... COM256.
  • Numéro de port parallèle : -1, -2, -3 ou -4 pour LPT1, LPT2, LPT3 ou LPT4.
<Taille du buffer d'entrée> : Entier
Taille en octets du buffer d'entrée (32768 au maximum).
<Taille du buffer de sortie> : Entier
Taille en octets du buffer de sortie (32768 au maximum).
<Durée d'attente> : Entier optionnel ou Durée optionnelle
Durée (exprimée en millisecondes) accordée pour la lecture ou l'écriture d'un caractère. Ainsi, si <Durée d'attente> vaut 1s avec une lecture de 1024 octets, la durée d'attente effective sera de 1024s.
Ce paramètre permet d'éviter un blocage lors d'un problème de lecture ou d'écriture sur le port d'impression.
  • si <Durée d'attente> est négatif, la durée d'attente sera constante. Par exemple, si <Durée d'attente> vaut "-1s" avec une lecture de 1024 octets, la durée d'attente effective sera de 1s.
  • Lorsque la <Durée d'attente> est expirée, la fonction de lecture ou d'écriture renvoie 0.
  • La valeur par défaut de ce paramètre est définie au niveau du système.
    Pour utiliser la durée d'attente définie par défaut, utilisez la constante sTimeoutDéfaut.
Ce paramètre peut correspondre à :
  • un entier correspondant au nombre de millisecondes,
  • une variable de type Durée,
  • l'indication directe de la durée (par exemple 1 s ou 10 ms).
<Gestion des événements> : Booléen optionnel
  • Vrai pour détecter des événements sur le port série,
  • Faux (valeur par défaut) pour ne pas gérer les événements. Ces événements pourront être gérés par la fonction sEvénement.

Ouvrir et initialiser un port en spécifiant son nom Masquer les détails

<Résultat> = sOuvre(<Nom du port> , <Taille du buffer d'entrée> , <Taille du buffer de sortie> [, <Durée d'attente>])
<Résultat> : Entier
  • Identifiant du port ouvert. Cet identifiant peut être directement utilisé dans les fonctions de gestion des ports.
    Cet identifiant correspond :
    • soit au numéro du port série concerné : 1, 2, 3, ... 256 pour COM1, COM2, COM3, ... COM256.
    • soit au numéro de port parallèle concerné : -1, -2, -3 ou -4 pour LPT1, LPT2, LPT3 ou LPT4.
    • soit au numéro du port infrarouge concerné : 1, 2, 3, ... 256 pour IR1, IR2, IR3, ... IR256.
  • 0 en cas d'erreur.
AndroidWidget Android Attention :
  • Cet identifiant ne correspond pas au numéro du port série concerné.
  • La gestion des ports parallèles n'est pas disponible.
<Nom du port> : Chaîne de caractères
Nom du port concerné :
  • Nom du port série : :
    • COM1, COM2, COM3, ... COM256.
    • AndroidWidget Android Nom du port série renvoyé par la fonction sListePort.
  • Nom du port parallèle : LPT1, LPT2, LPT3 ou LPT4.
  • Nom du port infrarouge : IR1, IR2, ... IR256.
AndroidWidget Android Rappel :
  • La gestion des ports parallèles n'est pas disponible.
<Taille du buffer d'entrée> : Entier
Taille en octets du buffer d'entrée (32768 au maximum).
<Taille du buffer de sortie> : Entier
Taille en octets du buffer de sortie (32768 au maximum).
<Durée d'attente> : Entier optionnel
Durée (exprimée en millisecondes) accordée pour la lecture ou l'écriture d'un caractère. Ainsi, si <Durée d'attente> vaut 1s avec une lecture de 1024 octets, la durée d'attente effective sera de 1024s.
Ce paramètre permet d'éviter un blocage lors d'un problème de lecture ou d'écriture sur le port d'impression.
  • si <Durée d'attente> est négatif, la durée d'attente sera constante. Par exemple, si <Durée d'attente> vaut "-1s" avec une lecture de 1024 octets, la durée d'attente effective sera de 1s.
  • Lorsque la <Durée d'attente> est expirée, la fonction de lecture ou d'écriture renvoie 0.
  • La valeur par défaut de ce paramètre est définie au niveau du système.
    Pour utiliser la durée d'attente définie par défaut, utilisez la constante sTimeoutDéfaut.
Ce paramètre peut correspondre à :
  • un entier correspondant au nombre de millisecondes,
  • une variable de type Durée,
  • l'indication directe de la durée (par exemple 1 s ou 10 ms).
Remarques

Fonctionnement

  • L'ouverture d'un port ne peut s'effectuer que si ce port a été correctement fermé.
  • Important : Un port doit être ouvert avec la fonction sOuvre avant d'être paramétré par la fonction sFixeParamètre.
  • Le WLangage ne permet pas de gérer les signaux de contrôle.
  • Deux postes s'envoient des caractères par un port : si le second poste utilise la fonction sOuvre après l'envoi des caractères par le premier poste, ces caractères sont ignorés.
Remarques :
    AndroidWidget Android

    Spécificités Android et Widget Android

    Sous Android et en mode Widget Android, les fonctions de manipulations des ports séries et parallèles sont utilisables :
    • Uniquement sur les ports séries (pas sur les ports parallèles ni sur les ports infrarouges).
    • Uniquement avec les appareils qui implémentent le protocole CDC/ACM (Arduino ATmega32U4) et les puces de conversion USB vers série suivantes :
      • FTDI FT232R, FT232H, FT2232H, FT4232H, FT230X, FT231X, FT234XD
      • Silabs CP210x
      • Qinheng CH340, CH341A
      • Prolific PL2303
    Spécificités de la fonction sOuvre :
    • Seuls les ports série peuvent être ouverts et initialisés.
    • Une boîte de dialogue sera affichée à l'utilisateur pour autoriser l'application à se connecter au périphérique.
    • Cette fonction doit être appelée dans le thread principal de l'application.
    • La gestion des événements n'est pas supportée.
    • Seule la syntaxe permettant d'ouvrir et initialiser un port en spécifiant son nom est disponible.
    Classification Métier / UI : Code métier
    Composante : wd290com.dll
    Version minimum requise
    • Version 9
    Documentation également disponible pour…
    Commentaires
    Permettre à chaque poste client de lire et écrire sur son port série
    Est-il possible de permettre à chaque utilisateur de l'application sur chacun des postes clients (3 par exemple) d'accéder chacun au port série de sa machine? Si oui comment?
    Merci.
    Franck
    19 déc. 2016

    Dernière modification : 06/07/2022

    Signaler une erreur ou faire une suggestion | Aide en ligne locale