Explicaciones de mensaje de error al usar COM1: y COM2

Exención de responsabilidades de contenido KB retirado

Este artículo se refiere a productos para los que Microsoft ya no ofrece soporte técnico. Por tanto, el presente artículo se ofrece "tal cual" y no será actualizado.

Resumen

Pueden aparecer los siguientes mensajes de error al utilizar el "COM1:" o "COM2:" dispositivo:

   Error Message                     Number
------------- ------

File Already OPEN (Error 55)
Bad File Name or Number (Error 52)
Out of Memory (Error 7)
Device Unavailable (Error 68)
Device I/O Error (Error 57)
Communications Buffer Overflow (Error 69)
Device Timeout (Error 24)

Este artículo da la lógica utilizada para determinar cuándo se debe mostrar estos errores durante abrir, entrada, salida y otras instrucciones cuando se utiliza el "COM1:" o "COM2:" dispositivo. Esta información se aplica a las versiones de Microsoft QuickBasic 4.00, 4.00b y 4.50 y las versiones de Microsoft Basic Compiler 6,00 y 6.00b para MS-DOS y MS OS/2. Para un artículo relacionado sobre cómo resolver problemas comunes del puerto de comunicaciones, busque las palabras siguientes en esta Base de conocimientos:
resolver y "com1:", puerto y problemas

Más información

El OPEN "COM1:" o OPEN "COM2:" instrucción utiliza la siguiente lógica, en orden de ejecución, para comprobar los errores:


  1. Comprobar si < número de dispositivo > fue abierto previamente en el programa. "Archivo ya abierto" muestra si < número de archivo > ya está abierto.
  2. Analizar las opciones utilizadas en el campo Abrir "COM1:" o OPEN "COM2:" instrucción. " Muestra el nombre de archivo incorrecto o número"si se cumple alguna de las siguientes acciones:


    1. Velocidad en baudios no es numérico o de más de 65.535
    2. La paridad no es N, O, E, M o S
    3. No son 5, 6, 7, 8 bits de datos
    4. Bits de datos son 8 y paridad es O, E, M o S
    5. Bits de parada no son 1 ó 2 (1.5 no es compatible)
    6. Uno de los siguientes argumentos está mal escrito (orden no es significativo para éstos; "m" puede ser null o un número entre 0 y 65.535 milisegundos; buffersize "x" puede ser hasta 32.767 bytes):
      OPm DSm, CSm, CDm, RBx, TBx, RS, LF, BIN, ASC
  3. Asignación de transmitir y recibir búferes. "Fuera de la memoria" se muestra si no se queda espacio para los búferes en el segmento de datos predeterminado.
  4. Inicializar la interfaz de dispositivo.


    1. "Nombre de archivo incorrecto" que se muestra cuando se utiliza cualquier cosa que no sea "COM1:" o "COM2:" o cuando se utiliza una velocidad en baudios no es igual a 75, 110, 150, 300, 600, 1200, 1800, 2400, 4800, 9600 o 19200.
    2. "Dispositivo no disponible" se muestra si la interfaz de comunicaciones ya está en uso o no existe (según los 4 bytes en hexadecimal 400 en poca memoria de PC).


      Si se han producido ningún error en este punto en la apertura, la velocidad en baudios, tamaño de los datos, paridad y stop bits ahora configurados. DTR se establece. RTS se establece si no se especifica la opción de RS. Si utiliza la opción de OPn (tiempo de espera abierta), se aplica el elemento 4c (abajo).
    3. "Error de E/S de dispositivo" muestra si se produce un tiempo de espera OPn abrir después de esperar DSR (conjunto de datos preparado) o DCD (detección de portadora de datos).


      (Nota: las versiones de QuickBasic 2.00, 2.01 y 3.00 utilice las opciones DSn y CDn para tiempo de espera DSR y DCD en lugar de la opción de OPn versiones 4.00, 4.00b y 4.50 posterior.)
Basic compilado, utiliza la siguiente lógica durante la entrada de "COM1:" o "COM2:":


  1. Compruebe si hay errores.


    1. "Desbordamiento de búfer de comunicaciones" muestra para recibir o transmite desbordamiento del búfer.
    2. "Error de E/S de dispositivo" muestra para cualquiera de las siguientes condiciones:
               Condition       Description
      --------- -----------

      break A special line condition where line voltage
      is held "on" (sending 1 bit, which is
      between -25 and -3 volts) over more than 10
      bit-times. (Note that "off" means a 0 bit,
      which is between +3 and +25 volts).

      parity error Can occur if line is noisy, or the wrong baud
      or parity is being used.

      overrun error The character (a 10-bit data frame) was not
      read from the interface hardware in time
      before it was overwritten by the next
      received character.

      framing error The bit to be interpreted as the stop bit was
      not 0. A framing error can occur if the line
      is noisy, if the wrong baud rate is used, or
      if the clock speeds on the communicating PCs
      are mismatched.

    3. "Error de tiempo de espera de dispositivo" muestra si un CTS, DSR, o el tiempo de espera DCD.
  2. Si no se produjeron errores, obtenga el siguiente carácter del búfer de recepción. Si no hay ninguno, bucle.
Basic compilado utiliza la siguiente lógica durante la salida a "COM1:" o "COM2:":


  1. Compruebe si hay errores. (Igual que para la entrada anterior).
  2. Probar si transmitir búfer está lleno. Si está completa, bucle a 1.
  3. Coloque el carácter en el búfer.
La función LOC(n) hace lo siguiente cuando se utiliza con "COM1:" o "COM2:":


  1. Compruebe si hay errores. (Igual que para la entrada anterior).
  2. LOC(n) devuelve el número de caracteres actualmente en el búfer de recepción.
La función LOF(n) hace lo siguiente cuando se utiliza con "COM1:" o "COM2:":


  1. Compruebe si hay errores. (Igual que para la entrada anterior).
  2. LOF(n) devuelve el espacio en el búfer de transmisión en QuickBasic versiones 4.00, 4.00b y 4.50 y las versiones de Microsoft Basic Compiler 6,00 y 6.00b para MS-DOS y MS OS/2.


    LOF(n) devuelve el espacio en el búfer de recepción en QuickBasic versiones 1,00, 1.02, 2.00, 2.01 y 3.00.
Basic utiliza la siguiente lógica al cerrar el "COM1:" o "COM2:" dispositivo:


  1. Salida de transmisión. Si utiliza la opción ASC (y no la opción de ubicación), transmitir un carácter de fin de archivo (EOF) (CTRL + Z).
  2. Espere resultados para finalizar o tiempo de espera pendiente.
  3. Restaurar los vectores de interrupciones.
  4. Desasignar transmitir y recibir búferes de segmento de datos predeterminado de Basic.
  5. Informe pendiente de errores.
Propiedades

Id. de artículo: 39386 - Última revisión: 01/17/2017 - Revisión: 1

Comentarios