LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How does RTS/CTS work in VISA serial UART

Im communicating to LabVIEW with an MSP430G2553 microcontroller through UART.  The connection is a RS232 to USB cable.  The USB cable is going to the computer.  LabVIEW only needs to read in values.  I've tried a 9600 and then a 256000 baud rate.  I'm sending the same char value over and over from the MSP430.  The chars that LabVIEW reads in are always different.  For instance if I send a 'J' the buffer will show 'k'.  It will then say '\A9' or something else if I stop the VI and run it again. 

 

I'm trying to implement the hardware control flow RTS/CTS.  I'm not sure how to do this but I've tried.  On the MSP430 I raise the RTS high and wait for the CTS to go high.  In LabVIEW the read buffer says '\00' and then it times out. The read buffer says '\00' again if I raise CTS first and wait for RTS instead.  How do I implement RTS/CTS or get the chars in accurately.

0 Kudos
Message 1 of 7
(4,930 Views)

Strange characters like that often indicate framing or baud rate errors. Are you sure you have everything configured correctly?

 

RS-232 to USB devices are not just cables but have hardware circuits for both the USB and the RS-232 interfaces. What is the make and model of the device? Do you know which interface IC it uses - FTDI, Prolific, or other? Do you have the manufacturer's driver software loaded? Are there any simple communications examples with the drivers? Do they work?

 

Does the USB to RS-232 device support hardware handshaking?

 

Look at the Serial Port Monitor.vi example to see how to use RTC/CTS with LV and VISA.

 

Lynn

0 Kudos
Message 2 of 7
(4,919 Views)

@Jcwilli5 wrote:

Im communicating to LabVIEW with an MSP430G2553 microcontroller through UART.  The connection is a RS232 to USB cable.  The USB cable is going to the computer.  LabVIEW only needs to read in values.  I've tried a 9600 and then a 256000 baud rate.  I'm sending the same char value over and over from the MSP430.  The chars that LabVIEW reads in are always different.  For instance if I send a 'J' the buffer will show 'k'.  It will then say '\A9' or something else if I stop the VI and run it again. 

 

I'm trying to implement the hardware control flow RTS/CTS.  I'm not sure how to do this but I've tried.  On the MSP430 I raise the RTS high and wait for the CTS to go high.  In LabVIEW the read buffer says '\00' and then it times out. The read buffer says '\00' again if I raise CTS first and wait for RTS instead.  How do I implement RTS/CTS or get the chars in accurately.


The connection is a RS232 to USB cable. 

 

"Prolific!"

RTS CTS lines

You need a Serial to USB Adaptor that supports them!  The "RS" in "RS-232" stands for "Recommended Standard" 


"Should be" isn't "Is" -Jay
0 Kudos
Message 3 of 7
(4,904 Views)

I have the Sabrent CB-RS232 cable.  The Sabrent cable uses Prolific.  Also it says it does support automatic handshake mode.

0 Kudos
Message 4 of 7
(4,877 Views)

I know everything is set up correctly because the UART works properly when I transfer only over USB.  The MSP430G2553 has a development board with a USB cable.  Someone mentioned I may need a USB/serial converter with 3V TTL signal output.

0 Kudos
Message 5 of 7
(4,876 Views)

I fixed the error by connecting the MSP430 to the MAX3232 level shifter IC.

0 Kudos
Message 6 of 7
(4,724 Views)

Im communicating to LabVIEW with an MSP430G2553 microcontroller through UART.  The connection is a RS232 to USB cable.  The USB cable is going to the computer.  LabVIEW only needs to read in values.  I've tried a 9600 and then a 256000 baud rate.  I'm sending the same char value over and over from the MSP430.  The chars that LabVIEW reads in are always different.  For instance if I send a 'J' the buffer will show 'k'.  It will then say '\A9' or something else if I stop the VI and run it again. 

 

I'm trying to implement the hardware control flow RTS/CTS.  I'm not sure how to do this but I've tried.  On the MSP430 I raise the RTS high and wait for the CTS to go high.  In LabVIEW the read buffer says '\00' and then it times out. The read buffer says '\00' again if I raise CTS first and wait for RTS instead.  How do I implement RTS/CTS or get the chars in accurately.

0 Kudos
Message 7 of 7
(4,386 Views)