VC/MFC程序,串口通过WriteToPort()发送后,另一头接收到的结果后面多出一堆无效字符串
我只发送了6个字符的数组“DQS\r\n\0”,可是收到的却是512长度的。除了前面的“DQS”以及回车换行之外,后面跟了一大串的“屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯...
我只发送了6个字符的数组“DQS\r\n\0”,可是收到的却是512长度的。除了前面的“DQS”以及回车换行之外,后面跟了一大串的“屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯”。问下是怎么回事,求高手解答
程序代码如下:
str_485Order="DQS\r";
char ch[6];
memset(&ch, 0, sizeof(ch)); //--清空发送数组缓冲区
ch[0]='D';
ch[1]='Q';
ch[2]='S';
ch[3]='\r';
ch[4]='\n';
ch[5]='\0';
DTport.WriteToPort(ch,6);
接收的结果是:
DQS
屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯
很郁闷,到底则么回事? 展开
程序代码如下:
str_485Order="DQS\r";
char ch[6];
memset(&ch, 0, sizeof(ch)); //--清空发送数组缓冲区
ch[0]='D';
ch[1]='Q';
ch[2]='S';
ch[3]='\r';
ch[4]='\n';
ch[5]='\0';
DTport.WriteToPort(ch,6);
接收的结果是:
DQS
屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯
很郁闷,到底则么回事? 展开
2个回答
展开全部
你不发送 只接收看看会有什么情况发生。
更多追问追答
追问
我是在模拟发送和接受啊,没有发送,哪来的接收?如果是单纯的用通讯软件互相收发自然是没有错误的
追答
你使用阻塞方式的 对吧?
接收前,你最好把接收缓冲区你清理下,比如 memset(buf,0,sizeof(buf))
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询