# HG changeset patch # User Ethan Zonca # Date 2014-08-15 23:07:09 # Node ID 4d88a377e1fe84a5a95263fd1bd86b8996b22e49 # Parent 675c16cde5b1c56128ab211bb1f164785a1a65c1 USB compiles properly diff --git a/Makefile b/Makefile --- a/Makefile +++ b/Makefile @@ -9,7 +9,7 @@ TOP:=$(shell readlink -f "../..") DISCOVERY:=Utilities/STM32L100C-Discovery STMLIB:=libraries OLEDDRV:=oleddrv -USBDRV:=libraries/USB +USBDRV:=USB STD_PERIPH:=$(STMLIB)/STM32L1xx_StdPeriph_Driver STARTUP:=$(STMLIB)/CMSIS/Device/ST/STM32L1xx/Source/Templates/gcc_ride7 LINKER_SCRIPT:=$(CURDIR)/stm32-flash.ld @@ -21,14 +21,12 @@ INCLUDE+=-I$(STMLIB)/CMSIS/Device/ST/STM INCLUDE+=-I$(STD_PERIPH)/inc INCLUDE+=-I$(DISCOVERY) INCLUDE+=-I$(STMLIB)/$(OLEDDRV) -#INCLUDE+=-I$(STMLIB)/STM32_USB_OTG_Driver/inc -#INCLUDE+=-I$(STMLIB)/STM32_USB_Device_Library/Class/hid/inc -#INCLUDE+=-I$(STMLIB)/STM32_USB_Device_Library/Core/inc +INCLUDE+=-I$(STMLIB)/$(USBDRV) # vpath is used so object files are written to the current directory instead # of the same directory as their source files vpath %.c $(DISCOVERY) $(STD_PERIPH)/src \ - $(STMLIB)/STM32_USB_OTG_Driver/src \ + $(STMLIB)/USB \ $(STMLIB)/STM32_USB-FS_Device_Library/Class/hid/src \ $(STMLIB)/STM32_USB-FS_Device_Library/Core/src vpath %.s $(STARTUP) diff --git a/main.c b/main.c --- a/main.c +++ b/main.c @@ -20,6 +20,13 @@ #define SW_LEFT GPIOB, GPIO_Pin_5 #define SW_RIGHT GPIOB, GPIO_Pin_4 +/* Extern variables ----------------------------------------------------------*/ +extern __IO uint8_t Receive_Buffer[64]; +extern __IO uint32_t Receive_length ; +extern __IO uint32_t length ; +uint8_t Send_Buffer[64]; +uint32_t packet_sent=1; +uint32_t packet_receive=1; static __IO uint32_t TimingDelay; diff --git a/platform_config.h b/platform_config.h --- a/platform_config.h +++ b/platform_config.h @@ -31,45 +31,9 @@ #define __PLATFORM_CONFIG_H /* Includes ------------------------------------------------------------------*/ -#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) - #include "stm32l1xx.h" - #if defined (USE_STM32L152_EVAL) - #include "stm32l152_eval.h" - #elif defined (USE_STM32L152D_EVAL) - #include "stm32l152d_eval.h" - #else - #error "Missing define: USE_STM32L152_EVAL or USE_STM32L152D_EVAL" - #endif /* USE_STM32L152_EVAL */ -#elif defined (STM32F10X_MD) || defined (STM32F10X_HD) || defined (STM32F10X_XL) - #include "stm32f10x.h" - #if defined (USE_STM3210B_EVAL) - #include "stm3210b_eval.h" - #elif defined (USE_STM3210E_EVAL) - #include "stm3210e_eval.h" - #else - #error "Missing define: USE_STM3210B_EVAL or USE_STM3210E_EVAL" - #endif /* USE_STM3210B_EVAL */ -#elif defined (USE_STM32373C_EVAL) - #include "stm32f37x.h" - #include "stm32373c_eval.h" -#elif defined (USE_STM32303C_EVAL) - #include "stm32f30x.h" - #include "stm32303c_eval.h" -#endif +#include "stm32l1xx.h" /* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Uncomment the line corresponding to the STMicroelectronics evaluation board - used to run the example */ -#if !defined (USE_STM3210B_EVAL) && !defined (USE_STM3210E_EVAL) && !defined (USE_STM32L152_EVAL) && !defined (USE_STM32L152D_EVAL) && !defined (USE_STM32373C_EVAL) && !defined (USE_STM32303C_EVAL) -//#define USE_STM3210B_EVAL -//#define USE_STM3210E_EVAL -//#define USE_STM32L152_EVAL -//#define USE_STM32L152D_EVAL -//#define (USE_STM32373C_EVAL) -#define (USE_STM32303C_EVAL) -#endif - /*Unique Devices IDs register set*/ @@ -93,39 +57,11 @@ #endif - -/* Define the STM32F10x hardware depending on the used evaluation board */ -#ifdef USE_STM3210B_EVAL - #define USB_DISCONNECT GPIOD - #define USB_DISCONNECT_PIN GPIO_Pin_9 - #define RCC_APB2Periph_GPIO_DISCONNECT RCC_APB2Periph_GPIOD - -#elif defined (USE_STM3210E_EVAL) - #define USB_DISCONNECT GPIOB - #define USB_DISCONNECT_PIN GPIO_Pin_14 - #define RCC_APB2Periph_GPIO_DISCONNECT RCC_APB2Periph_GPIOB - -#elif defined (USE_STM32L152_EVAL) || defined (USE_STM32L152D_EVAL) - /* - For STM32L15xx devices it is possible to use the internal USB pullup - controlled by register SYSCFG_PMC (refer to RM0038 reference manual for - more details). - It is also possible to use external pullup (and disable the internal pullup) - by setting the define USB_USE_EXTERNAL_PULLUP in file platform_config.h - and configuring the right pin to be used for the external pull up configuration. - To have more details on how to use an external pull up, please refer to - STM3210E-EVAL evaluation board manuals. - */ - /* Uncomment the following define to use an external pull up instead of the - integrated STM32L15xx internal pull up. In this case make sure to set up - correctly the external required hardware and the GPIO defines below.*/ -/* #define USB_USE_EXTERNAL_PULLUP */ - - #if !defined(USB_USE_EXTERNAL_PULLUP) +#if !defined(USB_USE_EXTERNAL_PULLUP) #define STM32L15_USB_CONNECT SYSCFG_USBPuCmd(ENABLE) #define STM32L15_USB_DISCONNECT SYSCFG_USBPuCmd(DISABLE) - #elif defined(USB_USE_EXTERNAL_PULLUP) +#elif defined(USB_USE_EXTERNAL_PULLUP) /* PA0 is chosen just as illustrating example, you should modify the defines below according to your hardware configuration. */ #define USB_DISCONNECT GPIOA @@ -133,19 +69,7 @@ #define RCC_AHBPeriph_GPIO_DISCONNECT RCC_AHBPeriph_GPIOA #define STM32L15_USB_CONNECT GPIO_ResetBits(USB_DISCONNECT, USB_DISCONNECT_PIN) #define STM32L15_USB_DISCONNECT GPIO_SetBits(USB_DISCONNECT, USB_DISCONNECT_PIN) - #endif /* USB_USE_EXTERNAL_PULLUP */ - -#elif defined (USE_STM32373C_EVAL) - #define USB_DISCONNECT GPIOC - #define USB_DISCONNECT_PIN GPIO_Pin_5 - #define RCC_AHBPeriph_GPIO_DISCONNECT RCC_AHBPeriph_GPIOC - -#elif defined (USE_STM32303C_EVAL) - #define USB_DISCONNECT GPIOB - #define USB_DISCONNECT_PIN GPIO_Pin_8 - - #define RCC_AHBPeriph_GPIO_DISCONNECT RCC_AHBPeriph_GPIOB -#endif /* USE_STM3210B_EVAL */ +#endif /* USB_USE_EXTERNAL_PULLUP */ /* Exported macro ------------------------------------------------------------*/ /* Exported functions ------------------------------------------------------- */