利用VC中的通讯控件开发串形通信程序
中显示的是Cstring型变量,因此必须进行转换。先将VARIANT型变量转换为ColeSafeArray型变量,再将其转换为BYTE型数组,然后将数组转换为Cstring型变量。这个转换过程看起来比较复杂,但它可以满足用不同的变量类型来显示接收数据。该程序的主要代码添加在CommTestDlg.cpp中,如下所示:
本文链接地址:http://www.oyaya.net/fanwen/view/141263.html
void CcommTestDlg::OnSend()
{
it( !m_Comm.GetPortOpen() )
m_Comm.SetPortOpen(TRUE);//打开串口
UpdateData(TRUE);
m_Comm.SetOutput(ColeVariant(m_SendData));//发送数据
}
void CcommTestDlg::OnClear()
{
m_ReceiveData.Empty();//清除接收对话框中的数据
m_SendData.Empty();//清除发送对话框中的数据
UpdataData(FALSE);
}
void CcommTestDig::OnComm()
{
VARIANT m_input1;
ColeSafeArray m_input2;
Long length,i;
BYTE data[1024];
Cstring str;
if(m_Comm.GetCommEvent()= =2)//接收缓冲区内有字符