
for(k=0k<lenk++)
safearray_inp.GetElement(&k,rxdata+k)
这里有问题,你想一下,假如你的数据很多,超出了你的rxdata容量(rxdata只有512字节),这里就会把栈写坏了嘛,这里拿到了len后要做一下判断,不能直接safearray_inp.GetElement(&k,rxdata+k)
显示0说明你都没接收到数据,strtmp本来就是个空值。你确认一下串口控件是否已经加载进来了,不只是拖进来的那么简单,还有好好检查检查你波特率了,校验位了什么的设置好了没,我怀疑你串口都没打开,一般的笔记本都不带串口的,你最好用台式机。。MFC的书里边一般都有介绍串口通信的。最好我觉得你最好把自己实现的代码都贴上来,串口通信代码都很短的
//m_MSComm.GetInput()//先预读缓冲区,以清除残留数据应该是有返回值的吧,有返回值的话,return 0这句就执行不到了,
int CSDICommView::OnCreate(LPCREATESTRUCT lpCreateStruct) 的建议就“建立空文档失败”
//m_MSComm.GetInput()//先预读缓冲区,以清除残留数据 这句
可以放在真正读数据之前。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)