m_Comm.SetRThreshold(1);
// 指定接收缓冲区大小
m_Comm.SetInBufferSize(1024);
// 清空接收缓冲区
m_Comm.SetInBufferCount(0);
// 设置读取方式
m_Comm.SetInputLen(0);
// 打开串口
if(!m_Comm.GetPortOpen())
{
m_Comm.SetPortOpen(TRUE);
}
// 读取数据
m_Comm.GetInput();
return true;
}
(5)响应OnComm 消息
利用ClassWizard 响应MSComm 控件的OnComm 消息,用来处理接收数据,代码如下:
void CSCommDlg::OnComm()
{
// TODO: Add your control notification handler code here
int nEvent;
VARIANT m_input;
char *str,*str1;
int k,i;
CString str2;
nEvent=m_Comm.GetCommEvent();
switch(nEvent)
枫叶文学网www.fywxw.com
Visual C++ 6.0 程序设计从入门到精通
·248·
{
case 2:
// 接收缓冲区的字符数目
k=m_Comm.GetInBufferCount();
if(k>0)
{
m_input=m_Comm.GetInput();
str=(char*)(unsigned char*)m_input.parray->pvData;
}
i=0;
str1=str;
while(i
{
i++;
str1++;
}
*str1=’\0’;
str2=(const char*)str; //清除字符串中的不必要字符
m_RevData = (LPCTSTR)str2;
default:
break;
}
// 显示数据
UpdateData(FALSE);
}
(6)发送数据
响应“发送”按钮的单击事件,用来发送数据,代码如下:
void CSCommDlg::OnSendData()
{
// TODO: Add your control notification handler code here
DWORD id;
UpdateData();
DATA senddata;
senddat