我用一个mscomm控件分别定义了对com1串口的发送和接受,但是接受的信息显在编辑控件中示不出来?
void CComSerDlg::OnBnClickedButtonSend()
{
// TODO: 在此添加控件通知处理程序代码
UpdateData(TRUE);
UpdateData(FALSE); char TxData[100];
int Count = m_strSend.GetLength(); for(int i = 0; i < Count; i++)
TxData[i] = m_strSend.GetAt(i);
CByteArray array;
array.RemoveAll();
array.SetSize(Count); for(i=0;i<Count;i++)
array.SetAt(i, TxData[i]); m_Com.put_Output(COleVariant(array)); // 发送数据 void CComSerDlg::OnCommMscomm()
{
// TODO: 在此处添加消息处理程序代码
VARIANT vResponse;
char *str;
char *str1;
int k, nEvent, i; nEvent = m_Com.get_CommEvent(); switch(nEvent)
{
case 2: //收到大于RTHresshold个字符
k = m_Com.get_InBufferCount(); //接收到的字符数目
if(k > 0)
{
vResponse=m_Com.get_Input(); //read
//对数据进行其他处理
str = (char*)(unsigned char*) vResponse.parray->pvData;
}
// 接收到字符,MSComm控件发送事件
i = 0;
str1 = str;
while (i < k)
{
i++;
str1++;
}
*str1 = '\0';
m_strReceive = (const char *)str;
//清除字符串中的不必要字符
break;
} UpdateData(FALSE);
m_nEdit.Invalidate();
}
}
void CComSerDlg::OnBnClickedButtonSend()
{
// TODO: 在此添加控件通知处理程序代码
UpdateData(TRUE);
UpdateData(FALSE); char TxData[100];
int Count = m_strSend.GetLength(); for(int i = 0; i < Count; i++)
TxData[i] = m_strSend.GetAt(i);
CByteArray array;
array.RemoveAll();
array.SetSize(Count); for(i=0;i<Count;i++)
array.SetAt(i, TxData[i]); m_Com.put_Output(COleVariant(array)); // 发送数据 void CComSerDlg::OnCommMscomm()
{
// TODO: 在此处添加消息处理程序代码
VARIANT vResponse;
char *str;
char *str1;
int k, nEvent, i; nEvent = m_Com.get_CommEvent(); switch(nEvent)
{
case 2: //收到大于RTHresshold个字符
k = m_Com.get_InBufferCount(); //接收到的字符数目
if(k > 0)
{
vResponse=m_Com.get_Input(); //read
//对数据进行其他处理
str = (char*)(unsigned char*) vResponse.parray->pvData;
}
// 接收到字符,MSComm控件发送事件
i = 0;
str1 = str;
while (i < k)
{
i++;
str1++;
}
*str1 = '\0';
m_strReceive = (const char *)str;
//清除字符串中的不必要字符
break;
} UpdateData(FALSE);
m_nEdit.Invalidate();
}
}
解决方案 »
- WaitForSingleObject和WSAEventSelcet以及WSACreateEvent的问题?
- 一个很奇怪的错误---务器: 消息 245,级别 16,状态 1,
- vc在数据库中执行插入或是删除会出现在第一行出现“,”或是“*”错误
- 一个简单但没解决的问题
- 一个很简单的问题,给100分先,不够再给,偶有的是分
- 有关于以服务方式启动程序 ,出现奇怪错误,请高手指教!!急!!!!
- 如何制作设备驱动程序的安装程序?
- 如何隐藏对话框?
- 大家一个人在外漂泊好辛苦,进来乐一乐!!:)
- CoCreateInstance返回的错误码为800401F0是代表什么错误?
- 请问如何设置纹理图像的alpha值?
- 求英文版 Visual Studio.NET 2003 及 MSDN 的国内下载地址...
我知道了,原来对同一com口读写时要把RxD和TxD用导线短接