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
  • Miscellaneous
  • Transmission between two stations using different string formats (Unicode and ANSI)
  • Using an external library: RXTX
  • Features specific to Android and Android widget
WINDEV
WindowsLinuxJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac Catalyst
Otros
Procedimientos almacenados
Writes a character string to the output buffer of the specified serial port, parallel port or infrared port. The end of writing can be checked by sInExitQueue.
Remarks:
  • The port must be opened beforehand (sOpen).
  • Java Infrared ports are not supported.
  • LinuxAndroidWidget Android Only serial ports are supported.
  • WEBDEV - Código Servidor This function returns information regarding the server.
Ejemplo
// The COM2 port is opened
PortNum = sOpen("COM2", 2000, 2000) // Open COM2
IF PortNum <> 0 THEN
	sMessage is string 
	// Send a message to the output buffer of COM2
	sWrite(PortNum, sMessage)
	// Wait for the end of the write operation
	LOOP
		IF sInExitQueue(2) = 0 THEN BREAK
	END
	Info("End of write operation")
END
Sintaxis
AndroidWidget Android Syntax not available in Android and Android widget

Writing a character string to the output buffer of a port Ocultar los detalles

<Result> = sWrite(<Port number> , <String to write>)
<Result>: Integer
  • Number of characters written,
  • 0 if timeout is over and if the writing was not performed.
<Port number>: Integer
Identifier of the port used:
  • Port number:
    • Serial port number: 1, 2, 3, ... 32 for COM1, COM2, COM3, ... COM32.
    • Parallel port number: -1, -2, -3 or -4 for LPT1, LPT2, LPT3 or LPT4.
    • Infrared port number: 1, 2, 3, ... 32 for IR1, IR2, IR3, ... IR32.
      LinuxJava Infrared ports are not supported.
  • Port identifier returned by sOpen (if this function was called with a port name).
    Linux Only this type of parameter is available.
<String to write>: Character string
Character string that must be written into the output buffer.

Writing a buffer into the output buffer of a port Ocultar los detalles

<Result> = sWrite(<Port number> , <Buffer to write>)
<Result>: Integer
  • Number of characters written,
  • 0 if timeout is over and if the writing was not performed.
<Port number>: Integer
Identifier of the port used:
  • Port number:
    • Serial port number: 1, 2, 3, ... 32 for COM1, COM2, COM3, ... COM32.
    • Parallel port number: -1, -2, -3 or -4 for LPT1, LPT2, LPT3 or LPT4.
    • Infrared port number: 1, 2, 3, ... 32 for IR1, IR2, IR3, ... IR32.
      Java Infrared ports are not supported.
  • Port identifier returned by sOpen (if this function was called with a port name).
    LinuxAndroidWidget Android Only this type of parameter is available.
<Buffer to write>: Buffer
Buffer that must be written into the output buffer.
Observaciones

Miscellaneous

  • sOpen has no effect if the port was not opened by sWrite.
  • A 32-bit application is locked during the duration of the transfer. To avoid this lock, the timeout between two write operations must be specified in sOpen. When the timeout is over and if the writing was not performed, sWrite returns 0.
    Java sWrite is a blocking function during the transfer even if a timeout was specified in sOpen.
  • The time required to transfer the string depends on the transmission speed.
  • The string or the buffer is automatically transferred.
  • WLanguage does not support control signals.
  • The time to wait for a character to be read or written is specified with sOpen.
    • If this time is set to 1s when reading 1024 bytes, the waiting time will be 1024s.
    • If this time is set to "-1s" when reading 1024 bytes, the waiting time will be 1s.
    This prevents lock problems when reading from or writing to the print port.

Transmission between two stations using different string formats (Unicode and ANSI)

Some conversions are required to perform a transmission between two computers that use different formats of character strings (Windows (ANSI) and Windows Mobile (UNICODE) for example):
Format of character strings on the current computer
Write operation
(sWrite function)
Read operation
(sRead)
String in ANSI format
String in UNICODE format
ANSI
(PC running Windows for example)
The character string will be in ANSI formatNo conversion is requiredConversion required (UnicodeToAnsi)
UnicodeThe character string will be in Unicode formatConversion required (AnsiToUnicode)No conversion is required
Linux Special case for Linux:
  • Only serial ports can be opened and initialized.
  • By default, users do not have access to serial ports. It is necessary to grant them specific rights to manage serial ports.
Java

Using an external library: RXTX

In Java, the use of serial and parallel port manipulation functions (functions sOpen, sWrite, sRead, ...) requires the presence of an external library: RXTX.
This library includes a Jar archive and one or more native libraries that depend on the operating system on which the application is run. To use these functions:
  • the Jar archive (RXTXComm.jar) must:
    • be found in the same directory as the Java application generated by WINDEV,
    • be found in the execution classpath of the application,
    • be directly included in the generated application (from the wizard for Java generation).
  • the native libraries corresponding to the operating system on which the application is run must be found:
    • in the same directory as the Java application generated by WINDEV,
    • in the path of the application libraries (librarypath).
You can download the RXTX library and its documentation from the following link: http://users.frii.com/jarvi/rxtx/index.html (link valid at the time of writing).
Attention: Infrared port management not available in Java.
AndroidWidget Android

Features specific to Android and Android widget

In Android and Android widget mode, the serial and parallel port functions can be used:
  • Only on serial (not parallel or infrared) ports.
  • Only with devices that support the CDC/ACM protocol (Arduino ATmega32U4) and the following USB to serial converter chips:
    • FTDI FT232R, FT232H, FT2232H, FT4232H, FT230X, FT231X, FT234XD
    • Silabs CP210x
    • Qinheng CH340, CH341A
    • Prolific PL2303
Clasificación Lógica de negocio / UI: Lógica de negocio
Componente: wd300com.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: 27/03/2025

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