Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: STM32F103C8T6_WebUSBDFU STM32F103C8T6_USBDFU STM32F103C8T6_USBDFU dfu_usb_stm32f103
Fork of USBDevice_STM32F103 by
Diff: USBDevice/USBHAL_LPC40.cpp
- Revision:
- 12:6030a12b6c62
- Parent:
- 10:1e3d126a322b
- Child:
- 25:7c72828865f3
diff -r eeb3cbbaa996 -r 6030a12b6c62 USBDevice/USBHAL_LPC40.cpp
--- a/USBDevice/USBHAL_LPC40.cpp Mon Aug 05 14:13:36 2013 +0300
+++ b/USBDevice/USBHAL_LPC40.cpp Thu Aug 08 15:56:46 2013 +0100
@@ -32,8 +32,9 @@
#define PCUSB (1UL<<31)
// USB Clock Control register
-#define DEV_CLK_EN (1UL<<1)
-#define AHB_CLK_EN (1UL<<4)
+#define DEV_CLK_EN (1UL<<1)
+#define PORT_CLK_EN (1UL<<3)
+#define AHB_CLK_EN (1UL<<4)
// USB Clock Status register
#define DEV_CLK_ON (1UL<<1)
@@ -364,21 +365,23 @@
LPC_SC->PCONP |= PCUSB;
// Enable USB clocks
- LPC_USB->USBClkCtrl |= DEV_CLK_EN | AHB_CLK_EN;
- while ((LPC_USB->USBClkSt & (DEV_CLK_EN | AHB_CLK_EN)) != (DEV_CLK_ON | AHB_CLK_ON));
+ LPC_USB->USBClkCtrl |= DEV_CLK_EN | AHB_CLK_EN | PORT_CLK_EN;
+ while ((LPC_USB->USBClkSt & (DEV_CLK_EN | AHB_CLK_EN | PORT_CLK_EN)) != (DEV_CLK_ON | AHB_CLK_ON | PORT_CLK_EN));
+
+ // Select port USB2
+ LPC_USB->StCtrl |= 3;
- // Configure pins P0.29 and P0.30 to be USB D+ and USB D-
- LPC_IOCON->P0_29 &= ~0x07;
- LPC_IOCON->P0_29 |= 0x01;
- LPC_IOCON->P0_30 &= ~0x07;
- LPC_IOCON->P0_30 |= 0x01;
+
+ // Configure pin P0.31 to be USB2
+ LPC_IOCON->P0_31 &= ~0x07;
+ LPC_IOCON->P0_31 |= 0x01;
// Disconnect USB device
SIEdisconnect();
- // Configure pin P2.9 to be Connect
- LPC_IOCON->P2_9 &= ~0x07;
- LPC_IOCON->P2_9 |= 0x01;
+ // Configure pin P0.14 to be Connect
+ LPC_IOCON->P0_14 &= ~0x07;
+ LPC_IOCON->P0_14 |= 0x03;
// Connect must be low for at least 2.5uS
wait(0.3);
