mfc里面串口接收编程遇到问题解决不了,大家来帮助我一下啊!!
罗伊斯 2014-05-09 07:36:58 求助大神啊!!
如题所示串口编程的接收程序出问题了!
if (com_ok.get_CommEvent()==2)
{
//cstr1 = _T("");
GetDlgItem(IDC_ren1)->SetWindowText(css);
variant_inp = com_ok.get_Input();
safearray_inp = variant_inp; //变量转换
len = safearray_inp.GetOneDimSize(); //得到有效的数据长度
for (k=0; k<len; k++)
{
safearray_inp.GetElement(&k, rxdata+k);
GetDlgItem(IDC_ren1)->SetWindowText(css);
}
for (k=0; k<len; k++) //将数组转换为CString型变量
{
//strtemp.Format(_T("%x"), *(rxdata+k));
char bt=*(char*)(rxdata+k);
strtemp.Format("%c", bt);
m_EditReceive += strtemp;
cstr2 += strtemp;
GetDlgItem(IDC_ren1)->SetWindowText(css);
}
这段代码大家都非常熟悉吧, 就是c++语言的串口接收代码啦,但是我实现不了,已完全确定不是单片机发送端的问题(用串口调试助手完全可以接收),大家也看到了我在上面这段话里面设了三处标志GetDlgItem(IDC_ren1)->SetWindowText(css);
但是结果显示仅能显示一个css(CString型),一一去掉来缩小范围得知是仅能显示第一个css, 也就是说variant_inp = com_ok.get_Input();这句话运行就卡住了,为什么会在这个地方卡住了呢?(软件检测没有error),我现在该怎么调试呢?