MSComm控件调用get_Input()时,无法读取缓存内容

m0_37848664 2017-11-16 05:52:09
问题背景:
我用MFC写了一个串口接收程序,主要是用电脑接收GPS的信息。GPS接两块不同的串口转USB板子(一块是FT232转的一块是PL2303转的)测试,结果发现用FT232的板子数据接收都正常,但是用PL2303的板子就接收不了数据。
但是,如果用串口助手来模拟的话,两个板子都能正常通信。
我用的是MSComm控件,在调用get_Input()时,PL2303的板子无法读取缓存。单步调试,发现运行到oledisp2.cpp里面的InvokeHelperV函数时,里面的sc计算会不一样。具体的函数在这里面。


void COleDispatchDriver::InvokeHelperV(DISPID dwDispID, WORD wFlags,
VARTYPE vtRet, void* pvRet, const BYTE* pbParamInfo, va_list argList)

SCODE sc = m_lpDispatch->Invoke(dwDispID, IID_NULL, 0, wFlags,
&dispparams, pvarResult, &excepInfo, &nArgErr);

...全文
395 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2017-11-17
  • 打赏
  • 举报
回复
怀疑一切,打击一切。 小心驶得万年船。
zgl7903 2017-11-17
  • 打赏
  • 举报
回复
控件注册是否正常? 端口是否打开? 通信参数设置是否正常? 关联端口事件是否正常? 是否正确判断数据接收事件? http://blog.csdn.net/hkwlg1314/article/details/48250457

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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