Forum Home
Press F1
 
Thread ID: 84050 2007-10-22 14:36:00 Serial comms help jsokeland (12953) Press F1
Post ID Timestamp Content User
604356 2007-10-22 14:36:00 I have a DOS application that will communication using the serial port on a Windows 95 platform but will not communicate on a Windows XP platform. I have even been able to make the program communicate on the Windows XP machine by using Virtual PC running Windows 95. Any ideas why the application will not communicate via the serial port running on Windows XP? Is there something I can do to solve this problem? jsokeland (12953)
604357 2007-10-22 18:10:00 Is the XP machine the same as the Win95 machine? Are you using "real" serial ports, as opposed to USB adapters?

If the latter case, then you're up to the mercy of the driver & how well it emulates access to a physical 16Cx50 UART. I've seen that work in a DOS session under XP, but I don't think many USB<->serial manufacturers bother with that level of emulation, as you don't need it with Windows.

If your serial comms requires any sort of fine timing requirements, for example RS485 conversion or 9-bit "addressing" (a fairly common 8-bit microcontroller comms scheme), then it can get flaky running under XP. Generally I've found that a lot of DOS comms stuff does run, but not always terribly reliably.
MushHead (10626)
604358 2007-10-23 03:42:00 XP (and W2K, and W98) have a small amount of security. ;)

Hardware I/O (COM and LPT) ports are "owned" by the OS, and user programmes can access them only through the OS-provided methods. I'm surprised that a "W95" virtual OS allows it. ;)

DOS allowed direct access. ;)

You will probably be able to find a programme which will give access ... I use one which lets me programme PIC microcontrollers on a W98 laptop.

Look for things like "PIC programmer" in Google, and look for such programmes provided for use with the programming software. ;) They usually load a DLL which evades the MS OS security. I haven't needed one for XP yet, but I'm sure soemone will have made one.
Graham L (2)
604359 2007-10-23 04:06:00 "I/O port access XP" looks like a better search string to Google. That should get you going. Graham L (2)
604360 2007-10-23 07:38:00 Hardware I/O (COM and LPT) ports are "owned" by the OS, and user programmes can access them only through the OS-provided methods. I'm surprised that a "W95" virtual OS allows it. ;)

DOS allowed direct access. ;)

W95/98 & XP are OK at figuring out whether a DOS session can automatically get access to some of the PC's hardware ("well-known" stuff like the COM & LPT ports). Win2K was a lot more fussy, but there are programs out there (WinIO (www.internals.com/) comes to mind) that let you set the I privileges for a process to let it have unfettered access to the PC's hardware.

I've had some success running COM ports via VMware Server on XP (free to download) - although timing-critical port access might not be that reliable. That way you can install DOS (still got those floppies??) & run it "natively". Not sure how it compares to Virtual PC in that regard.
MushHead (10626)
1