No me deja enviar mensaje
Publicado por Meta (9 intervenciones) el 27/03/2021 11:40:48
Hola:
Este Script se trata de que quiero enviar por ejemplo la letra B, o esto otro como X72. Si envío un comando o mensaje llamado B. Me tiene que llegar una respuesta. No hace nada.
Los datos son enviados al puerto serie.
Este es el código.
Quiero saber que es lo que ocurre.
Gracias.
Este Script se trata de que quiero enviar por ejemplo la letra B, o esto otro como X72. Si envío un comando o mensaje llamado B. Me tiene que llegar una respuesta. No hace nada.
Los datos son enviados al puerto serie.
Este es el código.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Para comprobar los puertos series disponibles en el sistema:
[System.IO.Ports.SerialPort]::getportnames()
# O bien de una manera más exhaustiva:
Get-WMIObject Win32_SerialPort
# Establecer los parámetros básicos de conexión. Una tipica conexión 9600 bps, 8N1 sin control de flujo sería la siguiente:
$puertoCOM = "COM1" # El puerto serie que se quiere emplear
$bps = 2400 # La tasa de baudios por segundo del puerto. Típicos valores entre 1200 (o incluso menos) y 115200 (o incluso más)
$paridad = [System.IO.Ports.Parity]::None # Paridad de datos. Puede ser Even (par), Odd (impar) o None (sin paridad)
$dataBits = 8 # Bits de datos. Puede ser 7 u 8
$stopBits = [System.IO.Ports.StopBits]::one # Bits de parada. Puede ser one (1), onepointfive (1.5) o two (dos)
$puerto = New-Object System.IO.Ports.SerialPort $puertoCOM,$bps,$paridad,$dataBits,$stopBits # Crea la nueva instancia
# Se pueden establecer otros parámetros, como la activación del control del flujo por RTS/CTS , DTR/DSR, Handshake, fijar el tamaño de los buffers de lectura y escritura o establecer los timeouts de lectura. Todos estos parámetros, así como el estado general del resto, se pueden consultar llamando al objeto:
$puerto
$puerto.ReadTimeout = 500 # Establece un timeout de lectura de 500 mseg
$puerto.WriteTimeout = 500 # Establece un timeout de escritura de 250 mseg
# Abre el puerto
$puerto.Open()
# Lectura del puerto
$mensaje=$puerto.ReadLine()
# Escritura del puerto
$mensaje="B"
$puerto.WriteLine($mensaje)
# Cierra el puerto
$puerto.Close()
Quiero saber que es lo que ocurre.
Gracias.
Valora esta pregunta


0