小弟 要向用vc 的mscomm 控件实现 向串口发送at命令 不知为什么没有反应请各位大虾 帮忙//发送数据代码
void CGprsDlg::OnSend()
{
// TODO: Add your control notification handler code here
//m_mscom.GetInput();
char buff[]="at"; //这里是 发送at的命令处
CByteArray array;
array.RemoveAll();
array.SetSize(10);
for(int i=0;i<10;i++)
array.SetAt(i, buff[i]);
m_mscom.SetOutput(COleVariant(array));//发送数据
}
//接受到返回信息代码void CGprsDlg::OnOnCommMscomm()
{
// TODO: Add your control notification handler code here
VARIANT variant_inp;
COleSafeArray safearray_inp;
long i = 0;
int len;
char rxdata[2048];
CString tmp;
CString temp[10];
switch (m_mscom.GetCommEvent())
{
case 2:
//表示接收缓冲区内有字符
{
variant_inp = m_mscom.GetInput();
safearray_inp = variant_inp;
len = safearray_inp.GetOneDimSize();
for (i = 0; i < len; i++)
{
safearray_inp.GetElement(&i, &rxdata[i]);
}
rxdata[i] = '\0';
}
}
m_recv += rxdata;
m_list.AddString(m_recv);
}可是列表框什么也不显示
void CGprsDlg::OnSend()
{
// TODO: Add your control notification handler code here
//m_mscom.GetInput();
char buff[]="at"; //这里是 发送at的命令处
CByteArray array;
array.RemoveAll();
array.SetSize(10);
for(int i=0;i<10;i++)
array.SetAt(i, buff[i]);
m_mscom.SetOutput(COleVariant(array));//发送数据
}
//接受到返回信息代码void CGprsDlg::OnOnCommMscomm()
{
// TODO: Add your control notification handler code here
VARIANT variant_inp;
COleSafeArray safearray_inp;
long i = 0;
int len;
char rxdata[2048];
CString tmp;
CString temp[10];
switch (m_mscom.GetCommEvent())
{
case 2:
//表示接收缓冲区内有字符
{
variant_inp = m_mscom.GetInput();
safearray_inp = variant_inp;
len = safearray_inp.GetOneDimSize();
for (i = 0; i < len; i++)
{
safearray_inp.GetElement(&i, &rxdata[i]);
}
rxdata[i] = '\0';
}
}
m_recv += rxdata;
m_list.AddString(m_recv);
}可是列表框什么也不显示
for (i = 0; i < len; i++)
{
m_recv+=rxdata[i];
}
试试