📄 subject_40483.htm
字号:
<p>
序号:40483 发表者:yunyue 发表日期:2003-05-19 10:47:21
<br>主题:关于串口通信接收数据:
<br>内容:我要实现当接收到“BB44”这个16进制值时开始接收,可是我现在做的接收的程序是直接判断(用GetCommEvent属性)接收事件,然后就把数据读到CString类型的变量里,我该怎么实现呢?在这里因为对缓冲区的概念模糊,不明白是不是用上诉判断属性就已经等于都已接收了呢?还是数据还在缓冲区里,还没有读进来呢?<BR> 因是菜鸟,不知是不是没有说清楚,请各位帮帮我,如果对我提出的问题不理解,可以再提出,谢谢!
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:淡淡 回复日期:2003-05-19 13:34:23
<br>内容:http://www.gjwtech.com/scomm/sc2dataprocessing.htm<BR>如何在串口通讯程序中处理数据包<BR><BR>if(GetCommEvent()==2)//接收缓冲区内的数据数目达到开始设定的门限值<BR>{<BR>//分析接收到的一个个字符,是否找到你的数据头标志:“BB44”<BR>}<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:yunyue 回复日期:2003-05-19 21:56:11
<br>内容:非常感谢您的回复,我看了一下网页里的程序代码有一处我不明白,就是flag是什么标志?具体规定是什么样的啊?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:淡淡 回复日期:2003-05-20 10:02:57
<br>内容:7e'e'***7e,这代表一个完整的数据串(包),你要从串口接收来的串流中正确找到串的头和尾,所以设置标志flag.有一个时机认为到了串尾开始读前面的串;还有一个时机(找到e),把前面的串清空。<BR>你自己试着整理一下流程和思路,FLAG完全是为找串头和串尾设立的。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:yunyue 回复日期:2003-05-21 14:22:46
<br>内容:那就是说这个flag是自己定义的吧!那程序的<BR>if(flag==1) //标志为1,<BR>{<BR> ...//提取数据<BR> flag=0; //提取完后,置标志为0<BR>}<BR>中提取数据这部分代码该是什么呢?在上面不是已经提取数据了码?m_strRXData+=strtemp; ??可能是概念不清我还是不太明白<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -