Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine

Re: Win32::SerialPort v. New computers

by Marshall (Abbot)
on Oct 31, 2011 at 15:29 UTC ( #934906=note: print w/replies, xml ) Need Help??

in reply to Win32::SerialPort v. New computers

The potential problems are legion. One issue that you may not be aware of is that standard USB provides 5 V, whereas RS-232 is spec'd for a 12V swing. If what you are talking to is finicky, then the 5V pseudo RS-232 port may not be good enough. I've had that problem before. I googled around and looks like an add-on RS-232 board can be had for about $30.

Replies are listed 'Best First'.
Re^2: Win32::SerialPort v. New computers
by afoken (Abbot) on Nov 01, 2011 at 10:19 UTC
    One issue that you may not be aware of is that standard USB provides 5 V, whereas RS-232 is spec'd for a 12V swing.

    Wrong. USB-to-RS232 converters usually contain voltage converters providing (high impedance) +/- 12 V, typically a variant of the MAX232 chip. And even if they did not, RS232 is specified with signal voltage levels of +/- 3 V to +/- 15 V, so + 5 V on a signal line are perfectly ok. But 0 V, as provided by too simple adapters, is not allowed, it is simply undefined. Most PCs and some other hardware accept 0 V as "negative because not significantly positive voltage", but I would not rely on that. Another wrong assumption is that RS232 lines could deliver significant ammounts of energy. The COM ports in the original IBM PC and almost all clones could deliver several mA, sufficent for a mouse, but that's not in the RS232 standard. Still, all USB-to-RS232 Adapters I have seen supply enough energy to light the LEDs in a RS232 tester dongle.


    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)
      No I am not wrong. There are even more problems besides the voltage/current interface issues. These DSR/RTS signals, etc... How the USB driver "simulating the RS232 port" deals with that. The problems like I said, are legion...

      My recommendation is to buy a RS-232 card and plug it in!
      That is the simple answer.
      get more complex only if you have to.

      These USB<->RS-232 things work well when the flow control is X-ON/X-OFF. They do not work well when the "extra" RS-2332 lines like "DATA-SET-READY" (DSR) are used for flow control (or other out of band signaling ). I believe that to be true and have seen it. If there is just "in-band" signaling, like X-ON/X-OFF, everybody is happy. Once we get into the realm where the hardware flow control is "out of band", trouble starts. Sometimes these signals aren't even used for hardware flow control and are used for other signaling purposes. The USB thing often just "augers into the ground". It does work for X-ON/X-OFF and I'm not saying that it doesn't.

      I stand by my recommendation of buying a card that will come with software drivers and only cost $30!
      If the device only needs in-band signaling X-ON,X-OFF, then buy the cheapest USB<->RS232 thing that you can!

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://934906]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (4)
As of 2017-12-13 00:38 GMT
Find Nodes?
    Voting Booth?
    What programming language do you hate the most?

    Results (342 votes). Check out past polls.