LPC17xx usb 998 ERROR_NOACCESS

Gast #1987742
Lesenswert?

Hi,

auf meinem LPC1758 hab ich einen virtuellen Com-Port erzeugt und sende 
von meinem Rechner (x86) an diesen LPC per USB Daten.

Das funktioniert auch relativ gut; aber ab und an treten Fehler in der 
WriteFile() Methode auf (Getlasterror liefert 998 ERROR_NOACCESS). 
Versuches ich es danach sofort wieder zu senden, funktioniert es wieder.


Kann es sein, dass dieser Fehler auftaucht, wenn im LPC-Controller beide 
64Byte Buffers für den USB Endpoint noch nicht freigegeben sind? Der LPC 
sendet darauf ein NAK und mein Win-Rechner erzeugt dann diese 
Fehlermeldung?
1
CByteArray *pData;
2
DWORD bytesWritten; 
3

4
OVERLAPPED ovl = {0};
5
ovl.hEvent = WriteEvent;
6

7

8

9
BOOL ok = ::WriteFile(hCom,                     // handle
10
                      pData,                   // data
11
                      pData->GetSize(),   // length
12
                      &bytesWritten,           // amount written
13
                      &ovl);    // overlapped structure
14
if(!ok)
15
{ /* failed */
16
   DWORD err = ::GetLastError();
17
   if(err != ERROR_IO_PENDING)
18
   { /* serious error */
19

20
     //hier treten ab und zu 998 errors auf... 
21
   }
22
}

Oder weiß jmd warum diese Fehler ab und zu - z.B. nach 15min auftreten; 
wenn man kontinuierlich Daten an den USB-Port sendet im Abstand von 
30ms.

Gruß
Sebastian

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren