What are the differences between USB and RS232?
You will find much more than I can tell you here about the abilities and disadvantages of RS232 by starting with a search for RS232 and then 'wandering around the web' and following the thread where it leads. No one page will tell you everything but 10 or 20 quick skims will show you how useful it was and how utterly terrible, all at the same time.
USB is intended as a high speed upward extensible fully standardised interface between 1 computing device using a single port and N peripherals using one port each with all control being accomplished by signals within the data stream. USB is formidably difficult to provide low level interfaces for. "Simple" interfaces are common but these provide and hide a very large degree of related complexity.
RS232 was intended as a 1:1 relatively low speed semi-standardised interface between 1 computing device and 1 peripheral per port with hardware control being an integral part of operation. RS232 is relatively easy to provide low level physical interfaces for.
RS232
was (and to some extent still is) a very useful powerful flexible way of connecting computing device to peripherals.
However [tm] [!!!]
RS232 was intended as a short distance (a few metres max) moderately low speed (9600 bps usual, up to about 100kbps in some cases, faster in very specialist situations), one device per port (exceptions proving the rule).
Signalling was unbalanced relative to ground using about +/- 12V with logic one on dfata = -V and logic one on control = +V. There were many many many control signals on the original 25 pin connector which led to an utterly vast range of non standard uses and incompatabilities. The later version reduced the connector to 9 pins with still enough control signals to allow people to utterly destandardise configurations.
Getting RS232 working between a randomly chosen terminal device and a computer or similar MAY have been a matter of plug in and go, or need minutes hours or days of playing and in some cases just would not work.
RS232 does NOT provide powering per se although many people used it to power equipment in many different ways, none of them standard. Observation of the data lines will allow data signals to be identified. (Fast eyes and a brain that works at a suitable number of kbps would help).
Data transfer is unidirectional on a transmit and receive line and uses asynchronous framing.
Design is for 1:1 connection with no way of multidropping in an 1:N arranagement without non-standard arrangements.
USB
up to USB2 is a 4 physical wire system with two power lines and two data lines. There are no physical control lines. USB3 uses more lines and details are best left for another question and answer.
Initial speed was 12 Mbps, increased to 480 Mbps with USB2 and up to 5 Gbps "Superspeed" mode with USB3.
Control and configuration is all done with software using data signals which are an utterly inseparable part of the interface. Observing the data stream with an oscilloscope will not reveal the actual data component of the system.
Data transfer uses 0/+5 balanced differential voltage signalling.
Data transfer is bidirectional with ownership of the "bus" being an integral part of the protocol.
Connection is almost always on a 1:1 basis physically but a number of logical devices can be accommodated on the one port. Connection of N physical devices to one upstream port is usually accomplished by use of a "hub" but this is essentially a visible manifestation of an internal 1:N arrangement which is an integral part of the design.
There are going to be some interesting connector issues :-):
USB2 / USB3 From here
USB3 superspeed microconnector with USB 2 backward compatability from here
USB3.COM - USB3 superspeed cable connectors from here
Wikipedia RS232
USB versus serial
Wikipedia USB
USB3 Superspeed FAQ
Wikipedia USB3
USB.ORG - superspeed
Driver issues aside the main disadvantage of USB to serial converters ports that I'm aware of is increased latency. Some embedded devices, wireless modems, device programmers and the like often use the flow control lines such as DTR and CTS for non-standard purposes. They may not work if they are timing critical or transitions are required in between a sequence of data. I've encountered several devices like that, mainly older designs from when RS232 was more popular and always implemented as a standard UART.
Technically the USB driver stack also introduces some additional overhead and can cause some issues with old DOS applications. But neither of those is much of an issue with modern PCs and operating systems.
Best Answer
For USB, the easiest way it to monitor for the presence of VBUS.
I'm not sure what you mean by "overcurrent", you shouldn't need to load the USB power line much if at all. If you're really worried, stick a 10K resistor in series with the USB Vcc, and just run it to an input pin. That should protect you from any faults.
Unfortunately, for serial, it can be a lot more involved.
If you're lucky, your system uses either inverted TTL level signaling, which means the line level when there is no traffic is Vcc, or RS232 level signaling, which means the no-traffic line voltage is either ~+10v or ~-10v, depending on whether your bus is inverted.
Then, you can simply monitor for the voltage level. 0v means nothing connected.
If you're unlucky, your system uses TTL level signaling, with the quiescent bus state being 0V. In this case, really the only possible way to determine if a device is connected is to actually send out some traffic, and see if you get a response.