串口编程时: 发过Write指令之后,,,结果返回了很多数据,但我并没有读取串口,结果就返回了0x2000,这0x2000个数所我要做其它的处理,但现在因为不是我读回来的数据,这些数据找不到了,(我想应该在缓冲区吧),,,不知道怎么才能把这些数据
找回来,,,串口类库使用 CSerialPort类返回的数据分16次收到的,,,0x200* 0x10
这些数据应该在接收缓冲区吧,,,因为对这个类库 不怎么了解,,,,不知道怎样才能把这0X200*0X10个数据找出来,供我处理BOOL CCreateDictate::myCmd_SecReadCpuAndflash()
{
Sleep(200);
BYTE buf[20]="";
char pbuf[0x2100]="";
int nFlagTimer=0;
memset(sSenddata.pData,0,16);
sSenddata.pData[0]=SAGMENGFLAG;
BYTE Y[]={0x00 ,0x06 ,0x00 ,0x08 ,0x30 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x20 ,0x00};
memcpy(sSenddata.pData+1, Y,12);
WORD uChecksum=LOWORD(CheckSUM(sSenddata.pData+1,12));//16 位的.
_libBigEndian_2(sSenddata.pData+5+8,uChecksum);
sSenddata.dwTotal=Mix7Eand7D((LPBYTE)sSenddata.pData,8+8);
if(sSenddata.dwTotal>0x1000) return FALSE;
sSenddata.pData[sSenddata.dwTotal-1]=SAGMENGFLAG;
if(m_Serail.Write(sSenddata.pData,sSenddata.dwTotal)==FALSE) return FALSE;
发过写指令后,,,端口自动返回了0x200 * 0x10 个数据回来
if (m_Serail.Read(pbuf,0x2100)==FALSE) return FALSE;
后面的 READ指令后读取的内容,第9块的第11位开始,,,只读了0x290个字节,,,那位大侠帮我看看,因为采用的是USB转串,,,,,,现在唯一感觉串口返回的数据很快,,,我去读的时候感觉很慢,,不知道是什么问题
找回来,,,串口类库使用 CSerialPort类返回的数据分16次收到的,,,0x200* 0x10
这些数据应该在接收缓冲区吧,,,因为对这个类库 不怎么了解,,,,不知道怎样才能把这0X200*0X10个数据找出来,供我处理BOOL CCreateDictate::myCmd_SecReadCpuAndflash()
{
Sleep(200);
BYTE buf[20]="";
char pbuf[0x2100]="";
int nFlagTimer=0;
memset(sSenddata.pData,0,16);
sSenddata.pData[0]=SAGMENGFLAG;
BYTE Y[]={0x00 ,0x06 ,0x00 ,0x08 ,0x30 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x20 ,0x00};
memcpy(sSenddata.pData+1, Y,12);
WORD uChecksum=LOWORD(CheckSUM(sSenddata.pData+1,12));//16 位的.
_libBigEndian_2(sSenddata.pData+5+8,uChecksum);
sSenddata.dwTotal=Mix7Eand7D((LPBYTE)sSenddata.pData,8+8);
if(sSenddata.dwTotal>0x1000) return FALSE;
sSenddata.pData[sSenddata.dwTotal-1]=SAGMENGFLAG;
if(m_Serail.Write(sSenddata.pData,sSenddata.dwTotal)==FALSE) return FALSE;
发过写指令后,,,端口自动返回了0x200 * 0x10 个数据回来
if (m_Serail.Read(pbuf,0x2100)==FALSE) return FALSE;
后面的 READ指令后读取的内容,第9块的第11位开始,,,只读了0x290个字节,,,那位大侠帮我看看,因为采用的是USB转串,,,,,,现在唯一感觉串口返回的数据很快,,,我去读的时候感觉很慢,,不知道是什么问题
解决方案 »
- 求mfc大神帮助(或者对虚拟列表熟悉的都行)
- 请问VC和C++是什么关系?
- vs2010中文旗舰版(WIN7系统下)的几个问题
- 一个奇怪的问题,ThreadLocale返回1033导致乱码
- 模板实例化函数链接出错:error LNK2019: unresolved external symbol
- 大家都去什么样的网站找工作啊?
- 堆内存分配的问题
- 紧急求救:急急急!
- 超级简单问题:怎样调用OCX的事件(急!急!急!放分100,在线等待)
- 新手求助:关于error LNK2001: unresolved external symbol的问题
- <<directshow开发指>>中提到过DMO,DMO以后可以取代dshow吗,现在的大趋势是DMO还是dshow,该学哪一个??
- 串口的重叠操作
if (m_Serail.Read(pbuf,0x2100)==FALSE) return FALSE;
后面的 READ指令后读取的内容,第9块的第11位开始,,,只读了0x290个字节,,,主要问题是怎么把端口自动返回的数据找出来,,,,,,,,,(我在监视软件上看到有这么多的数据自动返回来了,,,,但不知道调用这些数据)