LPC1769 CDC mit Keil

OP #2793824
Lesenswert?
• ▲
▼
Hallo,

wollte mir eine Virtuelle Com über USB machen ohne einen FTDI einsetzen 
zu müssen und habe mir die CDC Beispielfunktion von Keil unter 
Boards\Keil\MCB1700\RL\USB\Device\CDC umgeschrieben.

Senden geht ja mit der USBD_WriteEP funktion gans gut:
1
NumByte = sprintf(buffer,"Hallo Welt!!!\r\n");
2
  
3
while (1) {                          
4
      
5
  USBD_WriteEP ((U32)0x82,buffer, NumByte);
6
  delay_ms(500);
7
};

Nur verstehe ich nicht wie ich ein Interrupt für das Empfangen bekomme!?
Laut Anleitung gibt es die Funktion void USBD_EndPointN(U32 event), also 
habe ich in die usbd_LPC17xx.c datei folgende Funktion probiert:
1
void USBD_EndPoint2(U32 event) {
2
  
3
switch(event){
4
  case USBD_EVT_IN: 
5
  usb_rs232_obj.rx_num = USBD_ReadEP ((U32)0x02, usb_rs232_obj.buffer);
6
  usb_rs232_obj.rx_set = 1;
7
  break;
8
  }
9
}//void USBD_EndPoint2(U32 event)

Nur leider wird kein interrupt auf die Funktion ausgeführt.
Hat schonmal jemand eine Virtuelle Com mit Keil gemacht und kann mir 
weiterhelfen?

Hier mal noch meine einstellungen von der usb_config.c:
1
#define USBD_CDC_ENABLE             1
2
#define USBD_CDC_EP_INTIN           1
3
#define USBD_CDC_WMAXPACKETSIZE     16
4
#define USBD_CDC_BINTERVAL          2
5
#define USBD_CDC_HS_ENABLE          0
6
#define USBD_CDC_HS_WMAXPACKETSIZE  16
7
#define USBD_CDC_HS_BINTERVAL       2
8
#define USBD_CDC_EP_BULKIN          2
9
#define USBD_CDC_EP_BULKOUT         2
10
#define USBD_CDC_WMAXPACKETSIZE1    512
11
#define USBD_CDC_HS_ENABLE1         0
12
#define USBD_CDC_HS_WMAXPACKETSIZE1 64
13
#define USBD_CDC_HS_BINTERVAL1      0
14
#define USBD_CDC_CIF_STRDESC        L"USB_CDC"
15
#define USBD_CDC_DIF_STRDESC        L"USB_CDC1"
16
#define USBD_CDC_BUFSIZE            64
17
#define USBD_CDC_OUTBUFSIZE         128

Grüße,
Daniel

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.