完善Tesa star e测试功能。

This commit is contained in:
TAO Cheng
2013-12-13 08:53:55 +08:00
parent 70611fea3b
commit d060bf56dd
7 changed files with 86 additions and 81 deletions
@@ -56,6 +56,7 @@ CPSerial::CPSerial()
m_TXTimeout = CS_DEFAULT_TX_TIMEOUT;
m_iRecvState=FALSE;
m_iRecvBytes=0;
memset(m_RecvData,0,MAX_RECIEVE_BUFFER_SIZE);
// Everything else set to NULL
m_ThreadHandle = NULL;
//m_TXHead = NULL;
@@ -487,24 +488,38 @@ void CPSerial::OnReceive()
char s[MAX_RECIEVE_BUFFER_SIZE]={0};
s[1]='\0';
CurrentPointer = 0;
int num = ReadPort(s, MAX_RECIEVE_BUFFER_SIZE);
if ((num>0) && (num<MAX_RECIEVE_BUFFER_SIZE))
{
if(m_IsWrtingData)
{
memset(m_RecvData,0,MAX_RECIEVE_BUFFER_SIZE);
m_IsWrtingData=FALSE;
m_iRecvBytes=0;
if (m_HandShake==CS_HANDSHAKE_FOR_TRESASTR_E)
{
int num = ReadPort(s, MAX_RECIEVE_BUFFER_SIZE);
if ((num>0) && (num<MAX_RECIEVE_BUFFER_SIZE))
{
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;
}
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++)
}
else
{
int num = ReadPort(s, 252);
if ((num>0) && (num<MAX_RECIEVE_BUFFER_SIZE))
{
m_RecvData[m_iRecvBytes++]=s[i];
memset(m_RecvData,0,m_iRecvBytes);
memcpy(m_RecvData,s, num);
m_iRecvBytes=num;
m_iRecvState=TRUE;
}
m_iRecvState=TRUE;
}
//LineReceive(s, num);
}