Subj : Re: Win32 RS-232 help To : borland.public.cpp.borlandcpp From : Jeff Baker Date : Fri Apr 30 2004 03:55 am Thanks Bob for the quick reply. I know OR'ed if statements look ugly and I think they evaluate from left to right but I don't positively remember so I removed them. I'm still playing with your idea but it doesn't seem to be working. The result is exactly the same (the same amount of bytes received and those bytes containing the same values). Maybe I'm just not setting the DCB or the COMMTIMEOUTS structs correctly...could you take a look for me when you get a chance; Device's inter character timing specs; td = Transmission time for one byte : 1.04ms tw = Hold off time for differnet devices : 0.00ms t = Inter character time : 50.00ms (max) Timeout should be no less than = td + tw + t = 51.04ms Device's inter message time; Timeout for transmitter = 50ms Timeout for receiver = 52ms My source settings; timeout.ReadIntervalTimeout =160; timeout.ReadTotalTimeoutMultiplier = 80; timeout.ReadTotalTimeoutConstant = 2000; timeout.WriteTotalTimeoutMultiplier = 80; timeout.WriteTotalTimeoutConstant = 2000; dcb.BaudRate = CBR_9600; dcb.fBinary = TRUE; dcb.fParity = FALSE; dcb.fOutxCtsFlow = 0; dcb.fOutxDsrFlow = 0; dcb.fDtrControl = DTR_CONTROL_DISABLE; dcb.fDsrSensitivity = FALSE; dcb.fTXContinueOnXoff = TRUE; dcb.fOutX = FALSE; dcb.fInX = FALSE; dcb.fErrorChar = FALSE; dcb.fNull = FALSE; dcb.fRtsControl = RTS_CONTROL_DISABLE; dcb.fAbortOnError = FALSE; dcb.wReserved = 0; dcb.XonLim = 0; dcb.XoffLim = 0; dcb.ByteSize = 8; dcb.Parity = NOPARITY; dcb.StopBits = ONESTOPBIT; dcb.XonChar = 0; dcb.XoffChar = 0; dcb.ErrorChar = 0; dcb.EofChar = 0; dcb.EvtChar = 0; Again, I thank you in advance. - Jeff .