KeilUV4 usb cdc device problem

Gast #3975975
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

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