Hola! para leer los puertos seriales usa el control MsComm, lo agregas al proyecto llendo al menu "Proyecto-Componentes" y alli elegis de la lista "Microsoft Comm Control 6.0"
Espero esto te sirva. Saludos
De la ayuda de Visual basic:
Ejemplo del control MSComm
Este sencillo ejemplo muestra cómo efectuar las comunicaciones básicas del puerto serie mediante un módem:
Private Sub Form_Load ()
' Búfer para almacenar la cadena de entrada
Dim Instring As String
' Usar COM1.
MSComm1.CommPort = 1
' 9600 baudios, sin paridad, 8 bits de datos y 1
' bit de parada.
MSComm1.Settings = "9600,N,8,1"
' Indicar al control que lea todo el búfer al usar
' Input.
MSComm1.InputLen = 0
' Abrir el puerto.
MSComm1.PortOpen = True
' Enviar al módem el comando de atención.
MSComm1.Output = "ATV1Q0" & Chr$(13) ' Asegúrese de que
' el módem responde con "OK".
' Esperar a que vuelvan los datos al puerto serie.
Do
DoEvents
Buffer$ = Buffer$ & MSComm1.Input
Loop Until InStr(Buffer$, "OK" & vbCRLF)
' Leer los datos de respuesta de aceptación en el
' puerto serie.
' Cerrar el puerto serie.
MSComm1.PortOpen = False
End Sub
Nota El control MSComm puede usar el método de sondeo o el controlado por eventos para recuperar datos del puerto. Este sencillo ejemplo usa el método de sondeo. Para ver un ejemplo del método controlado por eventos, vea en la Ayuda el evento OnComm.
...Aplicaciones de ejemplo: Dialer.vbp y VBTerm.vbp
Las aplicaciones de ejemplo Dialer.vbp y VBTerm.vbp, que se encuentran en el directorioSamples, ilustran técnicas de programación simples y complejas, respectivamente, del control Communications.....