VS2008MFC写的一个串口程序

VS2008MFC写的一个串口程序,第1张

len=safearray_inp.GetOneDimSize()//得到有效的数据长度

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()//先预读缓冲区,以清除残留数据 这句

可以放在真正读数据之前。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7811333.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-10
下一篇2023-04-10

发表评论

登录后才能评论

评论列表(0条)

    保存