Ich habe ein Blackpill-Board mit einem STM32F411CE-U6
Laut "Datenblatt" beträgt der HSE 25MHz
Die maximale Taktfrequenz 84MHz
Ich habe das PlatformIO Beispiel libopencm3-usb-cdcacm geflasht.
Nach meinem Verständnis müsste irgendein USB-Gerät auftauchen. Das ist
leider weder unter Windows 10 noch Ubuntu der Fall.
Das Beispiel ist ursprünglich für ein disco_f407vg.
Daher habe ich in der cdcacm.c
1 | rcc_clock_setup_pll(&rcc_hse_8mhz_3v3[RCC_CLOCK_3V3_168MHZ]);
|
durch
1 | rcc_clock_setup_pll(&rcc_hse_25mhz_3v3[RCC_CLOCK_3V3_84MHZ]);
|
ersetzt und folgende Environment in der platformio.ini verwendet:
1 | [env:genericSTM32F411CE]
|
2 | platform = ststm32
|
3 | board = genericSTM32F411CE
|
4 | framework = libopencm3
|
5 | debug = stlink
|
6 | upload_protocol = stlink
|
Flashen funktioniert. Es passiert USB-technisch aber nichts.
Laut Datenblatt sind die beiden USB-Pins PA11 und PA12.
D.h.
1 | rcc_periph_clock_enable(RCC_GPIOA);
|
2 | rcc_periph_clock_enable(RCC_OTGFS);
|
3 |
|
4 | gpio_mode_setup(GPIOA, GPIO_MODE_AF, GPIO_PUPD_NONE, GPIO11 | GPIO12);
|
5 | gpio_set_af(GPIOA, GPIO_AF10, GPIO11 | GPIO12);
|
sollte auch passen oder?
Das Blink-Beispiel funktioniert wie erwartet.
Hat da jemand eine Idee?