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
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.
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'.
ich schrieb: > uint8_t USART_Rx_Buffer [USART_RX_DATA_SIZE]; Das hat nichts mit der USB FW Lib zu tun. Vermutlich eine Definition aus einer Demo mit STM EVA-Boards. Zeig doch mal Deinen ganzen Code.
Also Tante Goggle sagt dazu, daß in der Version V 3.2.1 in der Datei hw_config.h folgendes steht: #define USART_RX_DATA_SIZE 2048
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.