Cypress技术william hill官网
直播中

王雪

7年用户 208经验值
私信 关注
[问答]

u***相机在xp中使用cyu***而不是丢失数据但在同一台pc中的win7丢失数据中

我使用同一个应用程序捕捉相机数据使用CYUSB。
但现在我发现,在系统中,WINDOWX XP工作得很好,INT WIN7 32或VistAT系统的丢失数据非常强。
我的应用程序代码是:代码意味着捕获VID大小1280×720,在XP系统中返回数据ALOOST是1280×720,
但在Wi7 32或Vista系统中,它的最大值小于1280×720。我检查司机在W7和Vista是正确的。
顺便说一下,XP系统和Wi7系统Vista安装在同一台PC机上。
有人能帮我吗?谢谢。
DWORE WINAPI CAM线程(空隙* PARAM){CysBeBoint Point=pUSB -& gt;BulkNeNPT;int队列=2;PuCHAR*INVale=新PUCHAR(队列);重叠*INOVLAP =新的重叠[队列];PUCHAR *缓冲器=新PuCHAR(队列);(int i=0;i;lt;队列;I++){INVORC= CREATEAtiON(NULL,FALSE,FALSE,NULL);} PINDEPTP& & GT;TimeOut= 1000;PINDEPTP>StxFelSead(1024×1024);(int i=0;i<QuealSeist;I++)缓冲器 =新的无符号char [1024*1024 ];对于(int i=0;i& lt;QuealSeist;I++)in上下文=PINDEPTP& & BeginDataXfer;(1024×1024,&;iNoVLAP);In i=0;而(My bBead){ PINDEPTP& & Gt;WaitForXfer(&;INOVLAPP[I],1000);PINDEPTP& GT;FinishDataXfer(缓冲器[I],DWBythand,InOVLAPP,InValue);iNeal=PINDEPTP& & GT;BeginDataXfer(缓冲器,1024×1024,和INOVLAPP[I])如果(dWistB==1280×720){pMaMaLaMaReCuNeT+++;} i++;如果(i=队列){i=0;}}返回0;}

以上来自于百度翻译


     以下为原文
  i use the same application to capture the camera data use cyu***.
    but now i found that in the system windowx xp it works very well, int win7 32 or vistat system it loss data very strong.
    my application code is: the code means capture vide size 1280*720 ,in xp system the return data alomost is 1280*720,
    but in win7 32 or vista system it is alomost less 1280*720. i check the driver in win7 and vista is right.
    by the way the xp system and win7 system vista is install in the same pc.
    can any people help me?  thanks.
    DWORD WINAPI Camera_Thread(void *param)
{

     CCyUSBEndPoint*     pInEndpt    = pUSB->BulkInEndPt;
     int QueueSize  = 2;
     PUCHAR            *inContext        = new PUCHAR[QueueSize];
     OVERLAPPED        *inOvLap = new OVERLAPPED[QueueSize];
     PUCHAR            *buffers        = new PUCHAR[QueueSize];
     for (int i=0; i< QueueSize; i++)
     {     
         inOvLap.hEvent = CreateEvent(NULL, false, false, NULL);
     }
     pInEndpt->TimeOut = 1000;
     pInEndpt->SetXferSize(1024*1024);

     for(int i=0;i          buffers = new unsigned char [1024*1024];

     for(int i=0;i          inContext = pInEndpt->BeginDataXfer(buffers, 1024*1024, &inOvLap);
     LONG  dwBytes     = 0;
     int i=0;
     while(m_bPlaying)
     {
         pInEndpt->WaitForXfer(&inOvLap, 1000);

         pInEndpt->FinishDataXfer(buffers, dwBytes, &inOvLap, inContext);

         inContext = pInEndpt->BeginDataXfer(buffers,1024*1024,&inOvLap);
         if(dwBytes==1280*720)
         {
             pCameraFrameCount++;
         }

         i++;
         if(i==QueueSize)
         {
             i=0;
         }
     }
         
     return 0;
}

回帖(1)

韩俊

2019-6-18 16:24:52
你有没有USB跟踪,看看是什么造成数据丢失?

以上来自于百度翻译


     以下为原文
   Did you take a u*** trace and see what is causing the data loss?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分