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

屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯

很郁闷,到底则么回事?
展开
 我来答
zml81620
2012-09-04 · TA获得超过116个赞
知道小有建树答主
回答量:97
采纳率:0%
帮助的人:68.8万
展开全部
你不发送 只接收看看会有什么情况发生。
更多追问追答
追问
我是在模拟发送和接受啊,没有发送,哪来的接收?如果是单纯的用通讯软件互相收发自然是没有错误的
追答
你使用阻塞方式的 对吧?
接收前,你最好把接收缓冲区你清理下,比如 memset(buf,0,sizeof(buf))
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
电子人民
2020-06-23 · 擅长单片机,专注于电子电路以及附属产品
电子人民
采纳数:16 获赞数:46

向TA提问 私信TA
展开全部
你设置了unicode方式?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式