MFC中MSComm控件的oncomm在发送数据和接收数据的时候都不触发

用MFC编写串口通信,主要用来接收数据,由于电脑没串口,就下了一个虚拟串口软件,然后结合串口调试工具,先用虚拟串口软件新增两连接的虚拟串口,在我程序里初始化好串口,当调试... 用MFC编写串口通信,主要用来接收 数据,由于电脑没串口,就下了一个虚拟串口软件,然后结合串口调试工具,先用虚拟串口软件新增两连接的虚拟串口,在我程序里初始化好串口,当调试工具向我程序打开的串口发送数据时,程序就是收不到(不能说收不到,当我在程序中设置一个定时器接收的时候,界面中能显示收到的数据,但就是不触发oncomm事件),这是怎么回事啊,注:程序能向调试助手发送数据,波特率啥的都没有问题。
初始化工作是这样的
m_comport->SetCommPort(atoi(portnum));
m_comport->SetPortOpen(true);
m_comport->SetSettings("9600,n,8,1");
m_comport->SetInputMode(1);
m_comport->SetRThreshold(1);
展开
 我来答
xinde0908
2011-04-13
知道答主
回答量:18
采纳率:100%
帮助的人:18.4万
展开全部
m_ctrlComm.SetRThreshold(1);
//参数1表示每当串口接收缓冲区中有多于或等于1个字符时将引发一个接收数据n的OComm事件

这一句是不是没有设置?
追问
这一句加了的
匿名用户
2011-04-13
展开全部
m_comport->SetPortOpen(true);
这一句放在最后。

还有就是portnum,据说不能超过16,你的是多少?

接下来就是
m_comport->SetPortOpen(true);
之后,再GetPortOpen一下,看看是否已经正常打开
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
萍水e相逢
2011-04-13 · TA获得超过3万个赞
知道大有可为答主
回答量:5.9万
采纳率:46%
帮助的人:1.4亿
展开全部
不会吧

你 看看 经典书籍
Visual C++_Turbo C串口通信编程实践
追问
是真的了,我给MSCOMM控件关联了一变量,初始化工作是对这个变量进行的
追答
推荐这本书 非常经典
循序渐进、由浅入深

值得看看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
十二小妖爱追剧
2011-04-14
知道答主
回答量:23
采纳率:100%
帮助的人:12.4万
展开全部
以前我也出现过这样的问题,我的问题最后解决的是因为在初始化对话框的时候对MSCOMM控件使用了create函数,导致这样的结果,你看是不是这个问题?
追问
让我看看
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式