请教:
假设单片机要向 PC 机发数据:
S00eeE //S 表示开始 ,00ee 表示有用数据 ,E 表示结束现在问题是这样的:
单片机首先向 PC 机发 S ,PC 机收到了,
这是 PC 机做什么动作呢?这里,我还没有弄清楚,
PC 机的缓冲区到底保留哪些数据?假设单片机向 PC 机发送了 S00eeE
我知道这是一个完整的桢了,并且处理这个桢后,
我用哪个语句可以把缓冲区的数据清掉?
因为缓冲区需要接收下一个 单片机发来的字符串?void CSCommTestDlg::OnComm()
{
// TODO: Add your control notification handler code here
VARIANT variant_inp;
COleSafeArray safearray_inp;
LONG len,k;
BYTE rxdata[2048]; //设置BYTE数组 An 8-bit integerthat is not signed.
CString strtemp;
CString strjudge,strjudgeall; //判断字符串
CString edit1text,edit2text,edit3text,edit4text; //接收 4 个 edit 的字符串
LONG strjudgelen; //判断字符串长度
int edit1len; //edit1 字符长度
if(m_ctrlComm.GetCommEvent()==2) //事件值为2表示接收缓冲区内有字符
{ ////////以下你可以根据自己的通信协议加入处理代码
variant_inp=m_ctrlComm.GetInput(); //读缓冲区
safearray_inp=variant_inp; //VARIANT型变量转换为ColeSafeArray型变量
len=safearray_inp.GetOneDimSize(); //得到有效数据长度
for(k=0;k<len;k++)
safearray_inp.GetElement(&k,rxdata+k);//转换为BYTE型数组
//************************处理************************************
//各位大哥这里一般要怎么处理啊?
//************************处理************************************
MessageBox(strjudgeall);
}
UpdateData(FALSE); //更新编辑框内容
}谢谢!
假设单片机要向 PC 机发数据:
S00eeE //S 表示开始 ,00ee 表示有用数据 ,E 表示结束现在问题是这样的:
单片机首先向 PC 机发 S ,PC 机收到了,
这是 PC 机做什么动作呢?这里,我还没有弄清楚,
PC 机的缓冲区到底保留哪些数据?假设单片机向 PC 机发送了 S00eeE
我知道这是一个完整的桢了,并且处理这个桢后,
我用哪个语句可以把缓冲区的数据清掉?
因为缓冲区需要接收下一个 单片机发来的字符串?void CSCommTestDlg::OnComm()
{
// TODO: Add your control notification handler code here
VARIANT variant_inp;
COleSafeArray safearray_inp;
LONG len,k;
BYTE rxdata[2048]; //设置BYTE数组 An 8-bit integerthat is not signed.
CString strtemp;
CString strjudge,strjudgeall; //判断字符串
CString edit1text,edit2text,edit3text,edit4text; //接收 4 个 edit 的字符串
LONG strjudgelen; //判断字符串长度
int edit1len; //edit1 字符长度
if(m_ctrlComm.GetCommEvent()==2) //事件值为2表示接收缓冲区内有字符
{ ////////以下你可以根据自己的通信协议加入处理代码
variant_inp=m_ctrlComm.GetInput(); //读缓冲区
safearray_inp=variant_inp; //VARIANT型变量转换为ColeSafeArray型变量
len=safearray_inp.GetOneDimSize(); //得到有效数据长度
for(k=0;k<len;k++)
safearray_inp.GetElement(&k,rxdata+k);//转换为BYTE型数组
//************************处理************************************
//各位大哥这里一般要怎么处理啊?
//************************处理************************************
MessageBox(strjudgeall);
}
UpdateData(FALSE); //更新编辑框内容
}谢谢!
谢谢!