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),我现在该怎么调试呢?
...全文
68 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
FeelTouch Labs 2014-05-09
  • 打赏
  • 举报
回复
楼主用的是VC6.0还是VS啊,代码有区别,读缓冲区出问题了。请看: http://shijuanfeng.blogbus.com/logs/100675082.html
罗伊斯 2014-05-09
  • 打赏
  • 举报
回复
求问啊!!!

64,691

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧