SAM3S USB CDC stall

Gast #3264815
Lesenswert?

Hi,

ich bin gerade dabei, den USB Port des SAM3S4B zum Laufen zu bringen. 
Dabie würde ich gerne die CDC Klasse benutzen. Er wird auch als COM-Port 
erkannt und taucht im Geräte manager auf. Wenn ich mit HTerm den Port 
öffne, geht er in den STALL und gibt
-W- Sta 0x8028 [0] -W-
aus. Was soviel bedeutet, wie Force stall = 1 und STALLSENT_ISOERROR = 1

Ich benutze die Bibliothek aus 
SAM3S_softpack_2.1_for_CodeSourcery_2010q1.zip bzw "AT91SAM3S-EK GNU 
Software Package von" 
http://www.atmel.com/tools/SAM3SSOFTWAREPACKAGE.aspx
1
void taskUSB( void *pvParameters )
2
{
3
  uint8_t isUsbConnected = 0;
4
  bool vbus_connected = false;
5
  _ConfigureUsbClock();
6
  /* CDC serial driver initialization */
7
  CDCDSerialDriver_Initialize(&cdcdSerialDriverDescriptors);
8
  for( ;; )
9
  {
10
      if (GET_USB_CONNECTED() && !vbus_connected) {
11
          USBD_Connect();
12
          vbus_connected = true;
13
      }
14
      if (!GET_USB_CONNECTED() && vbus_connected) {
15
          CDCDSerialDriver_Initialize(&cdcdSerialDriverDescriptors);
16
          USBD_Disconnect();
17
          vbus_connected = false;
18
      }
19
      if (vbus_connected){
20
        /* Device is not configured */
21
        uint8_t usbstate = USBD_GetState();
22
      if (usbstate < USBD_STATE_CONFIGURED) {
23
        if (isUsbConnected) {
24
          isUsbConnected = 0;
25
        }
26
      }else{
27
        if(isUsbConnected == 0){
28
          isUsbConnected = 1;
29
        }
30
      }
31
    }
32
    vTaskDelay(( 200 / portTICK_RATE_MS ));
33
  }
34
}

Ist mein Code. GET_USB_CONNECTED() liest einfach nur den VUSB Pin ein.

Hat jemand eine Idee, wo ich anfangen kann zu suchen?

Viele Grüße,

Arne

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