NI VISA RS-232: Troubleshooting Framing Error 0xBFFF006B

Daniel Price3 min read
Other ManufacturerSerial CommunicationTroubleshooting
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

Symptom and Error Identification

A VISA application communicates correctly through an FTDI USB-to-RS-232 converter but fails through the PC's built-in RS-232 port. The failure occurs at VISA Read in COM_Port_Handler.vi->Serial_CORE_Engine.vi->Main.vi and returns error -1073807253, hexadecimal 0xBFFF006B: “A framing error occurred during transfer.” The available evidence identifies hardware-dependent timing as the accepted resolution, although it does not preserve the exact timing setting or Knowledge Base procedure.

Separate Confirmed Findings from Possible Causes

Finding Evidence status Engineering decision
The built-in port produces 0xBFFF006B; the FTDI converter does not on the same line and application. Observed Compare port-specific configuration and timing before changing the protocol.
The reported resolution was related to timing that varies with serial hardware. Confirmed by the reported outcome Review the application's write-to-read timing and receive timing for the built-in UART.
Noise can corrupt or lose information during transfer. Support diagnosis reported in the evidence Inspect the physical link if timing corrections do not eliminate the framing error.
An incorrect or nonstandard baud rate can produce the error. Diagnostic hypothesis Verify that the application, port, and connected device use the same baud rate.
Unread receive data or a damaged built-in port may contribute. Diagnostic hypotheses Confirm complete buffer handling, then test the physical port independently.

Troubleshooting Procedure

  1. Select the COM port assigned to the active interface. A USB converter normally receives a different COM assignment from the built-in serial port, and moving the converter can change that assignment.
  2. Verify the baud-rate configuration for the selected port and connected device. Give particular attention to a baud rate that is not one of the interface's standard selections.
  3. Inspect timing between the write and read operations. Because the accepted resolution was timing-related and behavior varied with hardware, adjust the existing timing mechanism for the built-in port and retest after each controlled change. The evidence does not identify a numeric delay, so do not substitute an assumed value.
  4. Check receive-buffer handling. Query the bytes available, read the data, and repeat while bytes remain instead of assuming that one read empties the buffer. Treat flushing as cleanup, not proof that the complete response was processed.
  5. If the error remains, inspect the line for noise and test the built-in RS-232 port for hardware damage. Also verify receive and transmit wiring rather than relying on the converter test alone.

Verification and Limits

Run the same command sequence repeatedly through the built-in port and confirm that VISA Read completes without -1073807253. Verify that the receive buffer reaches empty through normal reads and that the returned message is complete. Then repeat the test with the USB converter to ensure that the timing change did not break the previously working path.

The evidence does not identify a LabVIEW version, VISA version, firmware revision, cable length, serial format, numeric timeout, or required delay. Record those values from the actual system before escalating the case; assigning an unsupported value could conceal the hardware-dependent timing condition.

FAQ

What does NI VISA error 0xBFFF006B mean?

Error -1073807253, or 0xBFFF006B, means that a framing error occurred during the serial transfer. In this case it appeared at VISA Read when using the PC's built-in RS-232 port.

Why does RS-232 fail when an FTDI USB adapter works?

The reported case was resolved as a hardware-dependent timing issue. Also verify the selected COM port and baud rate because the built-in port and USB converter have separate assignments and settings.

How do I verify that VISA emptied the serial receive buffer?

Query the bytes available, read them, and repeat while bytes remain. Do not assume one read or a final receive-buffer flush proves that the entire response was processed.

Back to blog