STM32F103 USB Lib von ST portieren

Gast #2123510
Lesenswert?
• ▲
▼
Hallo,

ich versuche gerade, die USB Libs von ST so umzubiegen, dass sie auf 
einem Olimex Board laufen.

Gibt es irgendwio eine Liste, was in welchen Headerdateien zu ändern 
ist, um die LIBs auf dem eigenen STM32 zum laufen zu bekommen?


Die Sache mit dem

  #define USB_CONNECT                      GPIOC
  #define USB_CONNECT_PIN                  GPIO_Pin_14
  #define RCC_APB2Periph_GPIO_CONNECT      RCC_APB2Periph_GPIOC


hab ich schon gefunden.


Desweiteren bekomme ich in der hw_config.h immer die Fehlermeldung:


'USART_RX_DATA_SIZE' undeclared here (not in a function)

wo müsste die deklariert werden?

Ich arbeite mit Crossworks, das Beispiel aus dem wiki geht nicht
#2123815
Lesenswert?
• ▲
▼
Meinst Du das Olimex STM32-P103?

Darauf habe ich die USB-Lib hier laufen.

Ich habe die hw_config.c wie folgt angepasst:
1
#define USB_DISC_H  GPIO_SetBits(GPIOC,GPIO_Pin_11)
2
#define USB_DISC_L  GPIO_ResetBits(GPIOC,GPIO_Pin_11)
3

4
#define USB_SELECT   USB_DISC_L    /* USB Aktiv */
5
#define USB_DESELECT USB_DISC_H    /* USB Inaktiv (USBDP liegt auf 3.3V */
6

7
/*******************************************************************************
8
* Function Name  : USB_Cable_Config
9
* Description    : Software Connection/Disconnection of USB Cable
10
* Input          : None.
11
* Return         : Status
12
*******************************************************************************/
13
void USB_Cable_Config (FunctionalState NewState) {
14

15
  if (NewState == ENABLE) {
16
    USB_SELECT;
17
    // GPIO_SetBits(USB_CONNECT, USB_CONNECT_PIN);
18
  } else {
19
    USB_DESELECT;
20
    //GPIO_ResetBits(USB_CONNECT, USB_CONNECT_PIN);
21
  }
22
}

Weiterhin erinnere ich mich an Probleme, wenn man dazu die aktuelle 
FW-Lib 3.4.0 benutzt, da dort die bool-Definition geändert wurde. Ich 
musste in der usb_pwr.h

#include <stdbool.h>

zusätzlich einbinden. Kann aber auch an meiner Umgebung (Atollic) 
gelegen haben.
Gast #2123875
Lesenswert?
• ▲
▼
Hallo, danke für deine Hilfe.

Leider besteht der Fehler in der Zeile
1
uint8_t  USART_Rx_Buffer [USART_RX_DATA_SIZE];

immernoch. Fehlermeldung:

'USART_RX_DATA_SIZE' undeclared here (not in a function)


Ich arbeite mit Crossstudio. Board ist die kleine Version von deinem, 
ein H103. Sollte aber keinen Unterschied machen.

Ich habe alle Libs der STDLib und USBLib durchsucht, in keiner befindet 
sich eine Definition von 'USART_RX_DATA_SIZE'.

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.