dfu: minor, improve disconnect
This commit is contained in:
parent
ced714129c
commit
31079d95dd
|
@ -136,7 +136,7 @@ static void usb_disconnect(void)
|
||||||
gpio_set_output_options(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_2MHZ, GPIO12);
|
gpio_set_output_options(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_2MHZ, GPIO12);
|
||||||
gpio_clear(GPIOA, GPIO12);
|
gpio_clear(GPIOA, GPIO12);
|
||||||
// USB disconnected must be at least 10 ms long, at most 100 ms
|
// USB disconnected must be at least 10 ms long, at most 100 ms
|
||||||
for (volatile uint32_t i = 0; i < 0x8000; i++);
|
for (volatile uint32_t i = 0; i < 0x2000; i++);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** disconnect USB and perform system reset
|
/** disconnect USB and perform system reset
|
||||||
|
@ -361,7 +361,6 @@ void usb_dfu_setup(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
rcc_periph_reset_pulse(RST_OTGFS); // reset USB peripheral
|
rcc_periph_reset_pulse(RST_OTGFS); // reset USB peripheral
|
||||||
usb_disconnect(); // disconnect to force re-enumeration
|
|
||||||
rcc_periph_clock_enable(RCC_GPIOA); // enable clock for GPIO used for USB
|
rcc_periph_clock_enable(RCC_GPIOA); // enable clock for GPIO used for USB
|
||||||
gpio_mode_setup(GPIOA, GPIO_MODE_AF, GPIO_PUPD_NONE, GPIO11 | GPIO12); // set pin to alternate function
|
gpio_mode_setup(GPIOA, GPIO_MODE_AF, GPIO_PUPD_NONE, GPIO11 | GPIO12); // set pin to alternate function
|
||||||
gpio_set_af(GPIOA, GPIO_AF10, GPIO11 | GPIO12); // set alternate function to USB
|
gpio_set_af(GPIOA, GPIO_AF10, GPIO11 | GPIO12); // set alternate function to USB
|
||||||
|
|
Loading…
Reference in New Issue