新增Tesa star e测试功能。

This commit is contained in:
TAO Cheng
2013-12-05 18:16:31 +08:00
parent f5ce9cc087
commit 4632da1b05
14 changed files with 685 additions and 20 deletions
@@ -44,7 +44,7 @@ CPSerial::CPSerial()
{
// Serial port is not open
m_PortHandle = INVALID_HANDLE_VALUE;
m_IsWrtingData=FALSE;
// Default port settings
m_Port = 1;
m_Baud = CBR_115200;
@@ -323,6 +323,7 @@ DWORD CPSerial::Close()
DWORD CPSerial::Send(LPCSTR buffer, int l, BOOL /*needsResponse=FALSE*/)
{
m_IsWrtingData=TRUE;
return ( WritePort ((const char*) buffer, (DWORD) l));
}
@@ -488,10 +489,21 @@ void CPSerial::OnReceive()
CurrentPointer = 0;
int num = ReadPort(s, MAX_RECIEVE_BUFFER_SIZE);
if ((num>0) && (num<MAX_RECIEVE_BUFFER_SIZE))
{
memset(m_RecvData,0,MAX_RECIEVE_BUFFER_SIZE);
memcpy(m_RecvData,s, num);
m_iRecvBytes=num;
{
if(m_IsWrtingData)
{
memset(m_RecvData,0,MAX_RECIEVE_BUFFER_SIZE);
m_IsWrtingData=FALSE;
m_iRecvBytes=0;
}
TRACE1("----RECV%d----\r\n",num);
TRACE3("%02X %02X %02X ",s[0],s[1],s[2]);
TRACE3("%02X %02X %02X ",s[3],s[4],s[5]);
TRACE3("%02X %02X %02X\r\n",s[6],s[7],s[8]);
for(int i=0;i<num;i++)
{
m_RecvData[m_iRecvBytes++]=s[i];
}
m_iRecvState=TRUE;
}
//LineReceive(s, num);
@@ -639,6 +651,17 @@ int CPSerial::ProgramPort(int Port,int Baud,char Parity,int Bits,int StopBits,in
SerialDCB.fOutxDsrFlow=FALSE;
SerialDCB.XonLim=2048;
SerialDCB.XoffLim=512;
case CS_HANDSHAKE_FOR_TRESASTR_E:
SerialDCB.EofChar = 26;
SerialDCB.XonChar = 17;
SerialDCB.XoffChar = 19;
SerialDCB.fOutX=TRUE;
SerialDCB.fInX=TRUE;
SerialDCB.fRtsControl=RTS_CONTROL_DISABLE;
SerialDCB.fDtrControl = DTR_CONTROL_ENABLE;
SerialDCB.fDsrSensitivity=FALSE;
SerialDCB.XonLim=256;
SerialDCB.XoffLim=256;
break;
default:
break;
@@ -704,6 +727,18 @@ int CPSerial::ProgramPort(int Port,int Baud,char Parity,int Bits,int StopBits,in
SerialDCB.XonLim=2048;
SerialDCB.XoffLim=512;
break;
case CS_HANDSHAKE_FOR_TRESASTR_E:
SerialDCB.EofChar = 26;
SerialDCB.XonChar = 17;
SerialDCB.XoffChar = 19;
SerialDCB.fOutX=TRUE;
SerialDCB.fInX=TRUE;
SerialDCB.fRtsControl=RTS_CONTROL_DISABLE;
SerialDCB.fDtrControl = DTR_CONTROL_ENABLE;
SerialDCB.fDsrSensitivity=FALSE;
SerialDCB.XonLim=256;
SerialDCB.XoffLim=256;
break;
default:
break;
}