We are using a 9-bit protocol which sometimes sends a mark state and sometimes sends a space stage. When a space state is sent we want to be able to get a parity error in SDK. We can see the parity error in the hardware register but we want to be able to see the error with Windows SDK software. When we connect to a standard 232 serial port on a PC we are able to see the errors in SDK but when we add serial ports with the PCI card we are having unable to see the parity errors with the SDK software from Windows.
- We are using the OVERLAPPED I/O functions from the windows SDK.
- Parity errors are not detected by the driver. When using the SDK function "ClearCommError", we get no parity errors in the status flags.
- The characters are received very slow. When sending for example +/-25 characters at once. It takes about 500 milliseconds, before the driver has given the characters to the windows SDK. When sending a lot of data we detected delay's of more than a minute. And no, this has nothing to do with the limited baudrates. When disconnecting the serial cable, we still receive data from the serial port for more than a minute. Please check yourself using the OVERLAPPED I/O functions of windows.
We get the impression that the hardware is OK, but the driver has bugs in it. Any ideas?
Thanks
Kelly
Software/Hardware used:
ASKED:
June 1, 2006 2:26 PM
UPDATED:
June 6, 2006 6:37 PM
That’s Windows multitasking, because there is so much overhead and hardware abstraction in the NT line of Microsoft operating systems. “Getting with the program” does not necessarily mean that one has to hobble his or her self with the restrictions imposed by control freaks at one operating system vendor.
There are many systems out there that are ideal real-time serial interfaces, but NT-based operating systems are not among them. Custom drivers can be acquired, but at a cost, and they still must deal with the Windows overhead and other negative aspects of how Windows controls access to devices and does its multitasking.
QNX, UNIX, Linux, RTOS, PalmOS, FreeBSD and several others all permit direct access to the serial ports of your hardware.