Utilicé VB para escribir un programa sobre comunicación en serie. Al depurar, descubrí que siempre que abra el puerto serie, aparecerá el mensaje "Número de puerto no válido".
Fijate bien en el nombre del control de selección del puerto COM de LZ. El número 1 es la letra L en el código y no se puede seleccionar el puerto COM.
Modificar de la siguiente manera:
¿Privado? ¿Sub? Combo1_Click()
¿Y si? MSComm1. ¿Puerto abierto? =?¿En serio? Luego
MSComm1. ¿Puerto abierto? =? "Falso" cierra el puerto de comunicación.
¿Fin? si
MSComm1. ¿Puerto de comunicación? =?Combo1. ¿Índice de lista? +?1
Texto3? =?MSComm1. Puerto de comunicación
¿Fin? Submarino
¿Privado? ¿Sub? Command1_Click()
¿Activado? ¿error? ¿Ir a? uError
¿Y si? Comando 1. ¿título? =?"Cerrar puerto serie"? Luego
MSComm1. ¿Puerto abierto? =?Mal
Comando 1. ¿título? =?"Abrir puerto serie"
Forma1. ¿Color de relleno? =?& ampHFFFFC0
Otro
MSComm1. ¿Puerto abierto? =?real
Comando 1. ¿título? =?"Cerrar la ventana"
Forma1. ¿Color de relleno? =?& ampHFF
¿Fin? Si
¿salir? Submarino
uError:
msg$? =?"Número de puerto no válido"
Título$? =?"Asistente de depuración en serie"
x? =?MsgBox(msg$,?48,?title$)
¿Fin? Submarino
¿Privado? ¿Sub? form_load()
¿Si? MSComm1. ¿Puerto abierto? =?¿En serio? Luego
MSComm1. ¿Puerto abierto? =?¿Final incorrecto
Otro
? si
Combo1. ¿Agregar artículo? "COM1"
Combo1. ¿Agregar artículo? "COM2"
Combo1. ¿Agregar artículo? "COM3"
Combo1. ¿Agregar artículo? "COM4"
Combo1. ¿Agregar artículo? "COM5"
Combo1. ¿Agregar artículo? " COM6 "
Combo1. ¿Agregar artículo? " COM7 "
Combo1. ¿Agregar artículo? "COM8"
Combo1. ¿Índice de lista? =?0
MSComm1. ¿Puerto de comunicación? =?Combo1. ¿Índice de lista? +?1
MSComm1. ¿configuración? =?19200,n,8,1
Comando 1. ¿título? =?"Abrir puerto serie"
Forma1. ¿Color de relleno? =?& ampHFFFFC0
Opción 2. ¿valor? =?Real
Combinación 2. ¿Agregar artículo? "256000"
Combinación 2. ¿Agregar artículo? "128000"
Combinación 2. ¿Agregar artículo? "115200"
Combinación 2. ¿Agregar artículo? "57600"
Combinación 2. ¿Agregar artículo? "38400"
Combinación 2. ¿Agregar artículo? "28800"
Combinación 2. ¿Agregar artículo? "19200"
Combinación 2. ¿Agregar artículo? "9600"
Combinación 2. ¿Agregar artículo? "4800"
Combinación 2. ¿Agregar artículo? "2400"
Combinación 2. ¿Agregar artículo? "1200"
Combo3. ¿Agregar artículo? "¿No? Ninguno"
Combo3. ¿Agregar artículo? "¿Raro? Raro"
Combo3. ¿Agregar artículo? "¿Incluso? Incluso"
Combo4. ¿Agregar artículo? "4"
Combo4. ¿Agregar artículo? "5"
Combo4. ¿Agregar artículo? "5"
Combo4. ¿Agregar artículo? "6"
Combo4. ¿Agregar artículo? "7"
Combo4. ¿Agregar artículo? "8"
Combinación 5.
¿Agregar artículo? "1"
Combinación 5. ¿Agregar artículo? "2"
MSComm1. ¿En tamaño de búfer? =?1024
MSComm1. ¿Dimensiones externas del buffer? =?512
MSComm1. ¿Umbral? =?1
¿Fin? Submarino
¿Privado? ¿Sub? MSComm 1 _ en com()
¿Atenuado? BytRecibido()? ¿Como? Byte
¿Atenuado? ¿I? ¿Como? Entero
¿Seleccionar? ¿caso? MSComm1. CommEvent
¿Caso? comEventRxOver
Texto1. ¿Palabra? =?""
¿Salir? ¿Caso Submarino
? comEvReceive
MSComm1. ¿EntradaLen? =?0
strBuff? =?MSComm1. Invertir
¿Y si? MSComm1. ¿Modo de entrada? =?comInputModeBinary? Entonces
¿BytReceived()? =?strBuff
¿Para qué? ¿I? =?0?¿Adónde ir? UBound(recibir bytes)
¿Si? ¿Len(Hex(BytReceived(i)))? =?1?Entonces
strData? =?strDatos? y amplificador? ¿"0"? y amplificador? ¿Hexadecimal (BytReceived(i))? y amplificador? ""
¿Otros
strData? =?strDatos? y amplificador? Hexadecimal(BytReceived(i))? y amplificador? ""
¿Fin? Si
Entonces
¿Texto1? =?Texto1? y amplificador? strData
strData? =?""
Otro
Texto1? =?Texto1? y amplificador? strBuff
¿Fin? Si
¿Finalizar? Selección
¿Finalizar? Submarino
¿Privado? ¿Sub? Option1_Click()
MSComm1. ¿Modo de entrada? =?comInputModeText
¿Fin? Submarino
¿Privado? ¿Sub? Option2_Click()
MSComm1.
¿Modo de entrada? =?comInputModeBinary
¿Fin? Submarino