你好,想请教下串口接收问题,为什么有的时候会分成两部分接收,例如我发11个字符,会3+8或4+7

OnOnCommMscomm1(){byte*bytetemp;longi,k;CStringstrtemp1,strtemp2;VARIANTm_input;bytet... OnOnCommMscomm1()
{ byte *bytetemp;
long i,k;
CString strtemp1,strtemp2;
VARIANT m_input;
byte temp[1024];
byte bytesumcheck; //校验
int intpt;
int nEvent=m_Comm.GetCommEvent();//得到事件
switch(nEvent)
{
case 2://接收数据事件
k=m_Comm.GetInBufferCount();//接收缓冲区字符数

if(k>0)
{
m_input=m_Comm.GetInput();
bytetemp=(byte*) m_input.parray->pvData;
}
这是我的接收开始部分代码,我在k=m_Comm.GetInBufferCount(); 这句代码后面添加AfxMessageBox()函数显示k发现同样的11位,接收有时情况不一样,有时先接3后8,有时先4后7,我是根据接收到的信息解码然后读出圆的坐标,并在view中画出,发现如果不加AfxMessageBox(),就不能画圆,不知问题出在哪里?
展开
 我来答
萍水e相逢
2010-09-17 · TA获得超过3万个赞
知道大有可为答主
回答量:5.9万
采纳率:46%
帮助的人:1.4亿
展开全部
推荐看书

Visual C++_Turbo C串口通信编程实践

吃透书中 例程

祝你顺利
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式