RS232 Serial Port monitoring.

Posted on 2012-09-01
Last Modified: 2012-09-03
Good day

We've got a piece of hardware that interface with the RS232 port on the PC. (Prolific USB-to-Serial Comm Port)
The hardware manufacturer's support is very poor.

They supply a piece of software that clear the memory, when you click a couple of buttons, by sending about 200 separate bytes to the device.
I need to clear the memory from my own developed software, the manufacturer said I must use Portmon to find out how to clear it.
According to them you just send a single string to the device, but it's not that easy.

It seems like someone don't want us to clear the devises memory, we have tried everything to find out what data and time intervals are sent to the serial port.
We are sending data as close as possible, to what they are doing, but it still does not want to clear.
We have asked them how much they will charge us to develop an application just to clear the memory, but they don't even reply to that.

We have tried:
- Portmon (Serial Port Monitoring)
- Free Serial Port Monitor (Serial Port Monitoring)
- ApiMonitor (Api Monitoring)
- Device Monitoring studio (Serial Port Monitoring)
- Rec Studio (Try to decompile it)
- com0com (Null-modem emulator)

It seems like there need to be a specific timing between the serial outputs.
We cannot get the exact time intervals using any of the serial port monitoring applications, because it seems like as the buffer get full the duration between writes gets longer.
If we record it with the serial port monitoring apps, and put that exact time intervals in our own test app and then monitoring our app with the serial port monitoring the time intervals is different.

Any ideas how we can find out what the exact time intervals between the serial writes are?
Question by:koossa
    LVL 82

    Accepted Solution

    Are you trying to clear the USB-to-Serial-Port adapter or an external device connected to it?  Except that they can send the data out a serial port, USB doesn't act like a serial port.  It is a packet driven network device.  Typically, it collects a packet and sends that to the other end which in this case is the serial port at the end of the USB cable.  I think that is why your timing measurements are not making sense.

    Author Comment

    Yes, I'm trying to clear the device connected to it.
    LVL 82

    Assisted Solution

    by:Dave Baldwin
    Try finding a 'real' serial port plug-in card for your computer to get things working.  USB-to-Serial-Port adapters cause a lot of confusion because they don't act the same as real serial ports.  You should be able to get clearer info from a real serial port and then you can use that to figure out what you need to do with the USB-to-Serial-Port adapter.  That is also probably why the company doesn't want to deal with it.
    LVL 25

    Assisted Solution

    Does the software they provide work through the USB adapter?  If it does thats not likely the problem.  In general though I agree with DaveBaldwin,  USB serial adapters can be trouble.  I find they are somewhat unreliable (probably more of a driver issue) and also get a serial card with proper ports for anything that matters.

    What I would suggest is you tap the actual serial line and capture the traffic on the line directly when the provided software is doing its thing.  This would let you see the timing they use if thats what the problem is.  

    Here's an example of the a easy to use device to do this,

    It probably seems pricey for what it is but they include the software for 'free'.  You might be able to find something for less if you search around for 'serial tap' or 'rs232 tap'.

    It could also be a flow issue,  do they use the DTR/RTS/DSR etc lines at all?  aka Hardware flow control.  Its something that the company might just assume you are using.

    Here's a link about flow control,

    Otherwise also a good site for explaining serial communications.

    It is possible to make your own serial tap but its alot of messing around and you probably need something out of the box that just works.  If you have to troubleshoot your test device its gonna slow down the actual work.

    Author Closing Comment

    Thank you very much, when measuring the timing on a standard serial port, it works!!
    LVL 82

    Expert Comment

    by:Dave Baldwin
    You're welcome.  Glad you got it working.

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    Threat Intelligence Starter Resources

    Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

    This article describes some techniques which will make your VBA or Visual Basic Classic code easier to understand and maintain, whether by you, your replacement, or another Experts-Exchange expert.
    What do we know about Legacy Video Conferencing? - Full IT support needed! - Complicated systems at outrageous prices! - Intense training required! Highfive believes we need to embrace a new alternative.
    Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
    Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…

    761 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    8 Experts available now in Live!

    Get 1:1 Help Now