3. Implement drivers for the Nucleo 64, stm32f401re/stm32f411re, similar to the f3/bluepill support crates. Most or all of the peripherals should be supported
3. Implement drivers for the Nucleo 64, stm32f401re/stm32f411re, similar to the f3/bluepill support crates. Most or all of the peripherals should be supported in some basic configuration
* GPIO
* GPIO
* UART over USB using the ST-Link v2
* UART over USB using the ST-Link v2
* DMA
* DMA
* Timers for e.g.
* Timers with configurations
* Microsecond counter
* Microsecond counter
* PWM generation
* PWM generation
*Rotary encoder
*Encoder mode
* SPI
* SPI
* I^2C
* I^2C
The peripheral pin configuration should match the standard Arduino headers.
4. The stm32f4 supports higher clock frequency than the default 16 MHz. Implement a simple way of setting it to the maximum of 84 MHz for the stm32f401re and 100 MHz for the stm32f411re, or any valid lower value (configured using the PLL).
4. The stm32f4 supports higher clock frequency than the default 16 MHz. Implement a simple way of setting it to the maximum of 84 MHz for the stm32f401re and 100 MHz for the stm32f411re, or any valid lower value (configured using the PLL).