通过RAPI与PC通讯的问题

aa62486252   2009-11-10 08:37 楼主
第一次写通过RAPI同PC通讯的接口,遇到下列一个问题,各位给指点一下.
    下位机连续用IRAPIStream.write写一段buffer,PC端IRAPIStream.read这段了buffer,把Buffer整合成图片存在PC.(用的是非阻塞模式)
    部分代码如下:
while(bSensorStatus[0] == 0x1)
{

memset(pImageBuf,0x00,imageBufLen);
iRet = IO_GetImageBlock(dwLineNum,pImageBuf,(BYTE *)bSensorStatus);
/* iRet = 0;
for(unsigned int m =0;m {
  pImageBuf[m] = 30 *i;
}
                  if(i==7)
  bSensorStatus[0] = 0x0;
i++;
*/
if(iRet == 0)
  //Write length of string
  hr = pIRAPIStream->Write(&imageBufLen,sizeof(imageBufLen),&cbBytes);
  //Write string
  hr = pIRAPIStream->Write((unsigned char *)pImageBuf,(unsigned long)imageBufLen,&cbBytes);
}else
{
  goto ERR_EXIT;
}
}
  现在的情况是,如是以上述代码跑程序,则在PC端read速度很慢,类似阻塞IO_GetImageBlock了,整的下位机读一会停一会,如果把IO_GetImageBlock注释,把上述代码注释的取消跑程序,则一切正常.或者我把一张图按段读取并上传PC,同样也没问题.
  如果单独跑IO_GetImageBlock,并write,但我在PC端不read,同样速度也很正常.

  哪位了解相关情况,急盼指点一下.

                                                                    谢谢

回复评论 (1)

学习,很少用rapi
点赞  2009-11-10 09:53
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复