AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Funciones WLanguage / Funciones estándar / Funciones de Windows / Funciones de puertos serie y paralelo
  • Varios
  • Transmisión entre dos ordenadores que utilizan cadenas de caracteres en diferentes formatos (UNICODE y ANSI)
  • Utilización de una biblioteca externa: RXTX
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Lee una cadena de caracteres en la memoria intermedia de entrada del puerto serie especificado.. El puerto debe abrirse previamente (sOpen).
Observaciones:
  • Esta función no se puede utilizar con un puerto paralelo.
  • Java Los puertos de infrarrojos no son compatibles.
  • Linux Sólo se admiten puertos serie.
Ejemplo
WINDEVCódigo de Usuario (UMC)
// Read 20 characters in the Message variable from
// the entry buffer of COM1
Msg is string
Msg = sRead(1, 20)
Sintaxis

Leyendo un número de bytes y recuperando una cadena Ocultar los detalles

<Result> = sRead(<Port number> , <Number of bytes to read>)
<Result>: Cadena de caracteres
  • Cadena de caracteres leída en la memoria intermedia de entrada,
  • 0 si no se ha realizado la operación de lectura.
<Port number>: Integro
  • Número del puerto serie correspondiente: 1, 2, 3, ... 32 para COM1, COM2, COM3, ... COM32.
  • Identificador del puerto serie devuelto por sOpen (si esta función fue llamada con un nombre de puerto serie).
    Linux Sólo está disponible este tipo de parámetro.
<Number of bytes to read>: Integro
Número de bytes a leer en el búfer de entrada del puerto serie. El número de bytes a leer es devuelto por sInEntryQueue.
Observaciones

Varios

  • sOpen no tiene efecto si el puerto no fue abierto por sRead.
  • sRead borra la cola de entrada de los bytes realmente leídos.
  • Una aplicación de 32 bits se bloquea durante la transferencia.. Para evitar este bloqueo, hay que especificar el tiempo de espera entre dos operaciones de lectura en sOpen. Si se alcanza el tiempo de espera y no se han podido leer los datos, sRead devuelve 0.
  • WLanguage no le permite manejar las señales de control.
  • El tiempo de espera para leer o escribir un carácter se especifica con sOpen.
    • Si este tiempo se set a 1s al leer 1024 bytes, el tiempo de espera será de 1024s.
    • Si este tiempo se set a "-1s" al leer 1024 bytes, el tiempo de espera será de 1s.
    Esto evita problemas de bloqueo al leer o escribir en el puerto de impresión.
WINDEVCódigo de Usuario (UMC)

Transmisión entre dos ordenadores que utilizan cadenas de caracteres en diferentes formatos (UNICODE y ANSI)

Algunas conversiones son necesarias para realizar una transmisión entre dos ordenadores que utilizan formatos diferentes de cadenas de caracteres (Windows (ANSI) y Windows Mobile (UNICODE), por ejemplo):
Formato de las cadenas de caracteres en el equipo actualOperación de escritura
(función sWrite)
Lectura
(función sRead)
Buffer que contiene una cadena ANSI
Buffer que contiene una cadena UNICODE
ANSI
(PC con Windows, por ejemplo)
La cadena de caracteres estará en formato ANSINo se requiere ninguna conversión
Conversión necesaria (función UnicodeToAnsi)
UNICODELa cadena de caracteres estará en formato UNICODE
Conversión necesaria (función AnsiToUnicode)
No se requiere conversión
Linux Caso especial para Linux:
  • Sólo se pueden abrir e inicializar los puertos serie.
  • Por Default, los usuarios no tienen acceso a los puertos seriales. Es necesario concederles derechos específicos para la gestión de los puertos serie..
Java

Utilización de una biblioteca externa: RXTX

En Java, el uso de funciones para el manejo de los puertos serie y paralelo (sOpen, sWrite, sRead, ...) requiere la presencia de una biblioteca externa: RXTX.
Esta biblioteca incluye un archivo Jar y una o más bibliotecas nativas que dependen del sistema operativo en el que se ejecuta la aplicación.. Para utilizar estas funciones:
  • el archivo Jar (RXTXComm.jar) debe:
    • en el mismo directorio que la aplicación Java generada por WINDEV,
    • en el classpath de ejecución de la aplicación,
    • ser incluido directamente en la aplicación generada (de la asistente para la generación de la Java).
  • se deben encontrar las bibliotecas nativas correspondientes al sistema operativo en el que se ejecuta la aplicación:
    • en el mismo directorio que la aplicación Java generada por WINDEV,
    • en la ruta de las librerías de aplicaciones (librarypath).
La biblioteca RXTX y su documentación pueden descargarse de: http://users.frii.com/jarvi/rxtx/index.html (enlace válido en el momento de la publicación de esta documentación).
Atención: La gestión de los puertos de infrarrojos no está disponible en Java.
Clasificación Lógica de negocio / UI: Lógica de negocio
Componente: wd290com.dll
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 17/07/2022

Señalar un error o enviar una sugerencia | Ayuda local