Principales Mandatos para utilizar el Puerto Serie, del espacio System.IO.Ports
Estos son los mandatos e instrucciones mas frecuentes para utilizar el puerto serie:
Private Sub EjemploDeLasPrincipalesInstruccionesDeSystem.IO.Port()
Dim Contador As Integer
Serie = My.Computer.Ports.OpenSerialPort("COM1") 'Llamar al constructor
'
'Definir las caracteristicas de la comunicacion
Serie.BaudRate = 19200 'Fijar velocidad de comunicaciones
Serie.DataBits = 8 'Longitud en bits para Byte de datos
Serie.Parity = Parity.Even 'Asignar paridad(enumeracion parity)
Serie.StopBits = StopBits.Two 'Bits parada despues byte de datos
'
'Abrir/Control/Liberar Puerto
Serie.Open() 'Abrir el puerto Serie
Serie.Close() 'Cerrar el Puerto Serie
Serie.Dispose() 'Liberar objecto
Dim SiNo As Integer
SiNo = Serie.IsOpen 'El Puerto esta abierto?
Dim Puerto As String
Puerto = Serie.PortName 'Nombre del puerto
'
'Manejo y Control de señales
Dim Estado As Boolean 'True=Activa / False=Inactiva
Estado = Serie.CDHolding 'Estado de la señal carrier detect
Estado = Serie.CtsHolding 'Señal Clear to Send
Estado = Serie.DsrHolding 'Señal Data Set Ready
Serie.DtrEnable = True 'Activar de Data Terminal Ready
Serie.RtsEnable = True 'Activar Request To Send
'
'Control Transmission/Recepcion
Serie.ReadBufferSize = 1024 'Dimensionar tamaño buffer recepcion
Serie.WriteBufferSize = 1024 'Dimensionar tamaño buffer envio
Serie.ReadTimeout = 10 'Fuera de tiempo para las lecturas
Serie.WriteTimeout = 10 'Fuera de tiempo para las escrituras
Serie.Handshake = Handshake.XOnXOff 'Tipo control para recepcion/envio
Serie.DiscardInBuffer() 'Borrar el buffer de entrada
Serie.DiscardOutBuffer() 'Borrar el buffer de salida
'
'Enviar datos
Contador = Serie.BytesToWrite 'Bytes en espera de ser escritos
Serie.Write("Hola Mundo") 'Enviar una cadena de caracteres
Serie.WriteLine("Hola Mundo") 'Enviar una linea
'
'Leer datos
Contador = Serie.BytesToRead 'Bytes en espera de ser leidos
Serie.ReadByte() 'Leer un byte
Serie.ReadChar() 'Leer un char
Serie.ReadLine() 'Leer una linea
Serie.ReadExisting() 'Leer los datos existentes en buffer
End Sub
Saludos,
Pep Lluis