Forum: Mikrocontroller und Digitale Elektronik KeilUV4 usb cdc device problem


von Coman (Gast)


Lesenswert?

Hallo Leute!

Ich habe folgendes Problem bei KeilUV4:
Dieses Programm funktioniert anfangs, jedoch nach ein paar mal 
übertragen hört das Programm auf zu übertragen. Diese Unterbrechung ist 
immer nach einer unterschiedlichen Zeit. Ich habe das Programm debugged 
und habe mir das Programm zum Zeitpunkt des Unterbrechens angesehen. Es 
führt alles ganz normal aus, die Daten werden laut Debugger übertragen, 
jedoch empfange ich nichts mehr. Ich sehe mir die empfangen Daten mit 
dem Programm HTerm an.
Das komische ist, bei CooCox überträgt das Programm einwandfrei und 
sendet kontinuierlich, bis ich es beende.

Demoprogramm:
1
  #include "stm32f4xx.h"
2
  #include "stm32f429i_discovery_lcd2.h"
3
  #include "stdio.h"
4
  #include "stm32f429i_discovery_ioe.h"
5
  #include "stm32f429i_discovery.h"
6
  #include "stm32f429i_discovery_sdram.h"
7
  #include "stdlib.h"
8
  #include "stm32_ub_led.h"
9
  #include "stm32_ub_usb_cdc.h"
10
  #include "system_stm32f4xx.c"
11
12
// bei stm32_ub_usb_cdc.h wurde diese 
13
// variable gelöscht und hier neu deklariert
14
// da sonst ein Fehler bei dem linken war
15
USB_CDC_STATUS_t USB_CDC_STATUS;
16
17
18
19
int main(void)
20
{ 
21
  char rx_buf[APP_TX_BUF_SIZE] = {"12345"}; // Sendestring
22
23
  SystemInit(); // Quarz Einstellungen aktivieren
24
25
  // init der LEDs
26
  UB_Led_Init();
27
28
  // Init vom USB-OTG-Port als CDC-Device
29
  // (Virtueller-ComPort)
30
31
  UB_USB_CDC_Init();
32
33
34
  while(1)
35
  {
36
37
    // Test ob USB-Verbindung zum PC besteht
38
    if(UB_USB_CDC_GetStatus()==USB_CDC_CONNECTED) 
39
      {
40
     UB_Led_On(LED_GREEN);
41
              
42
        UB_USB_CDC_SendString(rx_buf,LFCR);
43
          
44
    }
45
    else 
46
      {
47
      UB_Led_Off(LED_GREEN);
48
      }
49
50
  }
51
}


Vielen Dank im Voraus
MfG Coman

von Der Wögi (Gast)


Lesenswert?

Du musst die erste Zeile löschen

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.