F
fulltime
Hi all,
I installed a PCI bus interface board with 2 RS422 com ports on it. I
am attempting to transfer data between these 2 com ports. (for eg. com
3 send data to com 4)
The pseudo code of my main program is as follows:
1. Configure the 2 ports
2. Open both ports
3. Call sendByte () for com 3 to send data out.
4. Call readByte () for com 4 to read in data.
5. Close both ports
However, the whole program hangs inside the readByte () which is
listed below.
///////////////////////////////////////////////////////
// Function name : CSerialComm::ReadByte
// Description : Reads a byte from the selected port
// Return type : BOOL
// Argument : BYTE& by
///////////////////////////////////////////////////////
BOOL CSerialComm::ReadByte(BYTE& by)
{
BYTE byResByte;
by=0;
DWORD dwBytesTxD=0;
if (ReadFile (m_hComm, &byResByte, 1, &dwBytesTxD, 0))
{
if (dwBytesTxD == 1)
{
by=byResByte;
return TRUE;
}
}
return FALSE;
}
/
=========================================================================
Can anyone provide me with some advice?
Since the data is first sent out via com3, My intial guess is that by
the time the receiver wants to read in the data, no more data exist
for it to be read in..
Thks alot for whatever advice u may provide.
FT
I installed a PCI bus interface board with 2 RS422 com ports on it. I
am attempting to transfer data between these 2 com ports. (for eg. com
3 send data to com 4)
The pseudo code of my main program is as follows:
1. Configure the 2 ports
2. Open both ports
3. Call sendByte () for com 3 to send data out.
4. Call readByte () for com 4 to read in data.
5. Close both ports
However, the whole program hangs inside the readByte () which is
listed below.
///////////////////////////////////////////////////////
// Function name : CSerialComm::ReadByte
// Description : Reads a byte from the selected port
// Return type : BOOL
// Argument : BYTE& by
///////////////////////////////////////////////////////
BOOL CSerialComm::ReadByte(BYTE& by)
{
BYTE byResByte;
by=0;
DWORD dwBytesTxD=0;
if (ReadFile (m_hComm, &byResByte, 1, &dwBytesTxD, 0))
{
if (dwBytesTxD == 1)
{
by=byResByte;
return TRUE;
}
}
return FALSE;
}
/
=========================================================================
Can anyone provide me with some advice?
Since the data is first sent out via com3, My intial guess is that by
the time the receiver wants to read in the data, no more data exist
for it to be read in..
Thks alot for whatever advice u may provide.
FT