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
  • Divers
  • Transmission entre deux postes utilisant des formats de chaînes de caractères différents (UNICODE et ANSI)
  • 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
Écrit une chaîne de caractères dans le buffer de sortie du port série, du port parallèle ou du port infrarouge spécifié. La fin de l'écriture de la chaîne peut être contrôlée grâce à la fonction sDansFileSortie.
Remarques :
  • Le port doit être préalablement ouvert (fonction sOuvre).
  • AndroidWidget Android Seuls les ports séries sont gérés.
Exemple
// Le port COM2 est ouvert
NumPort = sOuvre("COM2", 2000, 2000) // Ouverture de COM2
SI NumPort <> 0 ALORS
sMessage est une chaîne
// Envoi d'un message au buffer de sortie de COM2
sEcrit(NumPort, sMessage)
// Attendre la fin de l'écriture
BOUCLE
SI sDansFileSortie(2) = 0 ALORS SORTIR
FIN
Info("Fin de l'écriture")
FIN
Syntaxe
AndroidWidget Android Syntaxe non disponible sous Android et en mode Widget Android

Écrit une chaîne de caractères dans le buffer de sortie d'un port Masquer les détails

<Résultat> = sEcrit(<Numéro de port> , <Chaîne à écrire>)
<Résultat> : Entier
  • Nombre de caractères écrits,
  • 0 si le temps d'attente est terminé et si l'écriture n'a pas été effectuée.
<Numéro de port> : Entier
Identifiant du port manipulé :
  • Numéro de port :
    • Numéro de port série : 1, 2, 3, ... 32 pour COM1, COM2, COM3, ... COM32.
    • Numéro de port parallèle : -1, -2, -3 ou -4 pour LPT1, LPT2, LPT3 ou LPT4.
    • Numéro du port infrarouge : 1, 2, 3, ... 32 pour IR1, IR2, IR3, ... IR32.
  • Identifiant du port renvoyé par la fonction sOuvre (si cette fonction a été appelée avec un nom de port).
<Chaîne à écrire> : Chaîne de caractères
Chaîne de caractères à écrire dans le buffer de sortie.

Écrit un buffer dans le buffer de sortie d'un port Masquer les détails

<Résultat> = sEcrit(<Numéro de port> , <Buffer à écrire>)
<Résultat> : Entier
  • Nombre de caractères écrits,
  • 0 si le temps d'attente est terminé et si l'écriture n'a pas été effectuée.
<Numéro de port> : Entier
Identifiant du port manipulé :
  • Numéro de port :
    • Numéro du port série : 1, 2, 3, ... 32 pour COM1, COM2, COM3, ... COM32.
    • Numéro du port parallèle : -1, -2, -3 ou -4 pour LPT1, LPT2, LPT3 ou LPT4.
    • Numéro du port infrarouge : 1, 2, 3, ... 32 pour IR1, IR2, IR3, ... IR32.
  • Identifiant du port renvoyé par la fonction sOuvre (si cette fonction a été appelée avec un nom de port).
    AndroidWidget Android Seul ce type de paramètre est disponible.
<Buffer à écrire> : Buffer
Buffer à écrire dans le buffer de sortie.
Remarques

Divers

  • Si le port n'a pas été ouvert par la fonction sOuvre, la fonction sEcrit n'a aucune action.
  • Une application 32 bits est bloquée pendant la durée du transfert. Pour éviter ce blocage, il faut préciser le temps d'attente entre deux écritures dans la fonction sOuvre. Lorsque le temps d'attente est terminé et si l'écriture n'a pas pu être réalisée, sEcrit renvoie 0.
  • La durée de transfert effective de la chaîne dépend de la vitesse de transmission.
  • La chaîne ou le buffer est transféré(e) automatiquement.
  • Le WLangage ne permet pas de gérer les signaux de contrôle.
  • La durée d'attente accordée pour la lecture ou l'écriture d'un caractère est spécifiée avec la fonction sOuvre.
    • Si cette durée vaut 1s avec une lecture de 1024 octets, la durée d'attente effective sera de 1024s.
    • Si cette durée vaut "-1s" avec une lecture de 1024 octets, la durée d'attente effective sera de 1s.
    Il est ainsi possible d'éviter un blocage lors d'un problème de lecture ou d'écriture sur le port d'impression.

Transmission entre deux postes utilisant des formats de chaînes de caractères différents (UNICODE et ANSI)

Lors de la transmission de messages entre deux postes utilisant un format de chaînes de caractères différent (par exemple Windows (ANSI) et Windows Mobile (UNICODE)), certaines conversions sont nécessaires  :
Format des chaînes de caractères sur le poste en cours
Ecriture
(fonction sEcrit)
Lecture
(fonction sLit)
Chaîne au format ANSI
Chaîne au format UNICODE
ANSI
(PC sous Windows par exemple)
La chaîne de caractères sera au format ANSIAucune conversion nécessaireConversion nécessaire (fonction UnicodeVersAnsi)
UNICODELa chaîne de caractères sera au format UNICODEConversion nécessaire (fonction AnsiVersUnicode)Aucune conversion nécessaire
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
Classification Métier / UI : Code métier
Composante : wd290com.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 06/07/2022

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