Forum: Mikrocontroller und Digitale Elektronik LPC17xx usb 998 ERROR_NOACCESS


von Sebastian (Gast)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.