|
| 1 | +#define MICROPY_HW_BOARD_NAME "STM32F401CD" |
| 2 | +#define MICROPY_HW_MCU_NAME "STM32F401xD" |
| 3 | + |
| 4 | + |
| 5 | +#define MICROPY_CONFIG_ROM_LEVEL MICROPY_CONFIG_ROM_LEVEL_BASIC_FEATURES |
| 6 | +#define MICROPY_ENABLE_FINALISER (1) |
| 7 | +#define MICROPY_HELPER_REPL (1) |
| 8 | +#define MICROPY_PY_SYS_PS1_PS2 (1) |
| 9 | +#define MICROPY_PY_MACHINE_TIMER (1) |
| 10 | +#define MICROPY_ENABLE_SCHEDULER (1) |
| 11 | +#define MICROPY_KBD_EXCEPTION (1) |
| 12 | +#define MICROPY_PY_NETWORK (0) |
| 13 | + |
| 14 | +#define MICROPY_PY_IO (1) |
| 15 | +#define MICROPY_PY_IO_IOBASE (1) |
| 16 | +#define MICROPY_PY_SYS_STDFILES (1) |
| 17 | +#define MICROPY_PY_BUILTINS_MEMORYVIEW (1) |
| 18 | + |
| 19 | +#define MICROPY_PY_MICROPYTHON_MEM_INFO (1) |
| 20 | +#define MICROPY_PY_MICROPYTHON_STACK_USE (1) |
| 21 | +//#define MICROPY_PY_MACHINE (1) |
| 22 | +#define MICROPY_PY_OS_SYNC (1) |
| 23 | +#define MICROPY_PY_OS (1) |
| 24 | + |
| 25 | + |
| 26 | +#define MICROPY_HW_HAS_SWITCH (1) |
| 27 | +#define MICROPY_HW_HAS_FLASH (1) |
| 28 | +#define MICROPY_HW_ENABLE_RTC (1) |
| 29 | +#define MICROPY_HW_ENABLE_SERVO (1) |
| 30 | +#define MICROPY_HW_ENABLE_USB (1) |
| 31 | +#define MICROPY_HW_USB_FS (1) |
| 32 | + |
| 33 | +// HSE is 25MHz |
| 34 | +// Default source for the clock is HSE. |
| 35 | +// For revisions of the board greater than C-01, HSE can be used as a |
| 36 | +// clock source by removing the #define MICROPY_HW_CLK_USE_HSE line |
| 37 | +#define MICROPY_HW_CLK_USE_HSI (0) |
| 38 | + |
| 39 | +#if MICROPY_HW_CLK_USE_HSI |
| 40 | +#define MICROPY_HW_CLK_PLLM (16) |
| 41 | +#else |
| 42 | +#define MICROPY_HW_CLK_PLLM (15) |
| 43 | +#endif |
| 44 | +#define MICROPY_HW_CLK_PLLN (144) |
| 45 | +#define MICROPY_HW_CLK_PLLP (RCC_PLLP_DIV4) |
| 46 | +#define MICROPY_HW_CLK_PLLQ (5) |
| 47 | + |
| 48 | +// UART config |
| 49 | +#define MICROPY_HW_UART2_TX (pin_A2) |
| 50 | +#define MICROPY_HW_UART2_RX (pin_A3) |
| 51 | +//#define MICROPY_HW_UART6_TX (pin_C6) |
| 52 | +//#define MICROPY_HW_UART6_RX (pin_C7) |
| 53 | +// UART 2 connects to the STM32F103 (STLINK) on the Nucleo board |
| 54 | +// and this is exposed as a USB Serial port. |
| 55 | +#define MICROPY_HW_UART_REPL PYB_UART_2 |
| 56 | +#define MICROPY_HW_UART_REPL_BAUD 115200 |
| 57 | + |
| 58 | +// I2C buses |
| 59 | +#define MICROPY_HW_I2C1_SCL (pin_B8) // Arduino D15, pin 3 on CN10 |
| 60 | +#define MICROPY_HW_I2C1_SDA (pin_B9) // D14, pin 5 on CN10 |
| 61 | +#define MICROPY_HW_I2C2_SCL (pin_B10) // Arduino D6, pin 25 on CN10 |
| 62 | +#define MICROPY_HW_I2C2_SDA (pin_B3) // Arduino D3, pin 31 on CN10 |
| 63 | +#define MICROPY_HW_I2C3_SCL (pin_A8) // Arduino D7, pin 23 on CN10 |
| 64 | +#define MICROPY_HW_I2C3_SDA (pin_C9) // pin 1 on CN10 |
| 65 | + |
| 66 | +// SPI buses |
| 67 | +#define MICROPY_HW_SPI1_NSS (pin_A15) // pin 17 on CN7 |
| 68 | +#define MICROPY_HW_SPI1_SCK (pin_A5) // Arduino D13, pin 11 on CN10 |
| 69 | +#define MICROPY_HW_SPI1_MISO (pin_A6) // Arduino D12, pin 13 on CN10 |
| 70 | +#define MICROPY_HW_SPI1_MOSI (pin_A7) // Arduino D11, pin 15 on CN10 |
| 71 | + |
| 72 | +#define MICROPY_HW_SPI2_NSS (pin_B12) // pin 16 on CN10 |
| 73 | +#define MICROPY_HW_SPI2_SCK (pin_B13) // pin 30 on CN10 |
| 74 | +#define MICROPY_HW_SPI2_MISO (pin_B14) // pin 28 on CN10 |
| 75 | +#define MICROPY_HW_SPI2_MOSI (pin_B15) // pin 26 on CN10 |
| 76 | + |
| 77 | +#define MICROPY_HW_SPI3_NSS (pin_A4) // Arduino A2, pin 32 on CN7 |
| 78 | +#define MICROPY_HW_SPI3_SCK (pin_B3) // Arduino D3, pin 31 on CN10 |
| 79 | +#define MICROPY_HW_SPI3_MISO (pin_B4) // Arduino D5, pin 27 on CN10 |
| 80 | +#define MICROPY_HW_SPI3_MOSI (pin_B5) // Arduino D4, pin 29 on CN10 |
| 81 | + |
| 82 | +// USRSW is pulled low. Pressing the button makes the input go high. |
| 83 | +#define MICROPY_HW_USRSW_PIN (pin_A0) |
| 84 | +#define MICROPY_HW_USRSW_PULL (GPIO_NOPULL) |
| 85 | +#define MICROPY_HW_USRSW_EXTI_MODE (GPIO_MODE_IT_FALLING) |
| 86 | +#define MICROPY_HW_USRSW_PRESSED (0) |
| 87 | + |
| 88 | +// LEDs |
| 89 | +#define MICROPY_HW_LED1 (pin_C13) // Green LD2 LED on Nucleo |
| 90 | +#define MICROPY_HW_LED_ON(pin) (mp_hal_pin_high(pin)) |
| 91 | +#define MICROPY_HW_LED_OFF(pin) (mp_hal_pin_low(pin)) |
0 commit comments