void CSerialPortActivexDlg::OnCommMscomm1()
{
// TODO: Add your control notification handler code here
UpdateData(true); VARIANT variant_inp;
COleSafeArray safearray_inp; long i = 0;
int len;
char rxdata[1000];
CString tmp;
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;
UpdateData(false);
break;
default:
break;
}
}为什么 有触发 而getinput() 里没数据呢 ? 在调试窗口看到的是 {???}
我在网上看来 程序都是这么写的 ,可我这里为什么不行呢
我是把 串口的 23脚短接来调试的
{
// TODO: Add your control notification handler code here
UpdateData(true); VARIANT variant_inp;
COleSafeArray safearray_inp; long i = 0;
int len;
char rxdata[1000];
CString tmp;
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;
UpdateData(false);
break;
default:
break;
}
}为什么 有触发 而getinput() 里没数据呢 ? 在调试窗口看到的是 {???}
我在网上看来 程序都是这么写的 ,可我这里为什么不行呢
我是把 串口的 23脚短接来调试的
但是我就弄不明白 已经触发了 为什么没有数据
我发送的是 "11"