mpconfigboard.h 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. #define MICROPY_HW_BOARD_NAME "CustomPCB"
  2. #define MICROPY_HW_MCU_NAME "STM32F439"
  3. #define MICROPY_HW_HAS_FLASH (1)
  4. #define MICROPY_HW_HAS_SDCARD (1) //works with no SD card too
  5. #define MICROPY_HW_ENABLE_RNG (1)
  6. #define MICROPY_HW_ENABLE_RTC (1)
  7. #define MICROPY_HW_ENABLE_DAC (1)
  8. #define MICROPY_HW_ENABLE_USB (1)
  9. // SD card detect switch
  10. #if MICROPY_HW_HAS_SDCARD
  11. #define MICROPY_HW_SDCARD_DETECT_PIN (pin_A8)
  12. #define MICROPY_HW_SDCARD_DETECT_PULL (GPIO_PULLUP)
  13. #define MICROPY_HW_SDCARD_DETECT_PRESENT (1)
  14. #endif
  15. // HSE is 8MHz
  16. #define MICROPY_HW_CLK_PLLM (8) //divide external clock by this to get 1MHz
  17. #define MICROPY_HW_CLK_PLLN (384) //this number is the PLL clock in MHz
  18. #define MICROPY_HW_CLK_PLLP (RCC_PLLP_DIV2) //divide PLL clock by this to get core clock
  19. #define MICROPY_HW_CLK_PLLQ (8) //divide core clock by this to get 48MHz
  20. // USB config
  21. #define MICROPY_HW_USB_FS (1)
  22. // UART config
  23. #define MICROPY_HW_UART1_TX (pin_A9)
  24. #define MICROPY_HW_UART1_RX (pin_A10)
  25. #define MICROPY_HW_UART2_TX (pin_D5)
  26. #define MICROPY_HW_UART2_RX (pin_D6)
  27. #define MICROPY_HW_UART2_RTS (pin_D1)
  28. #define MICROPY_HW_UART2_CTS (pin_D0)
  29. #define MICROPY_HW_UART3_TX (pin_D8)
  30. #define MICROPY_HW_UART3_RX (pin_D9)
  31. #define MICROPY_HW_UART3_RTS (pin_D12)
  32. #define MICROPY_HW_UART3_CTS (pin_D11)
  33. #define MICROPY_HW_UART4_TX (pin_A0)
  34. #define MICROPY_HW_UART4_RX (pin_A1)
  35. #define MICROPY_HW_UART6_TX (pin_C6)
  36. #define MICROPY_HW_UART6_RX (pin_C7)
  37. // I2C busses
  38. #define MICROPY_HW_I2C1_SCL (pin_A8)
  39. #define MICROPY_HW_I2C1_SDA (pin_C9)
  40. // SPI busses
  41. #define MICROPY_HW_SPI1_NSS (pin_A4)
  42. #define MICROPY_HW_SPI1_SCK (pin_A5)
  43. #define MICROPY_HW_SPI1_MISO (pin_A6)
  44. #define MICROPY_HW_SPI1_MOSI (pin_A7)
  45. #if MICROPY_HW_USB_HS_IN_FS
  46. // The HS USB uses B14 & B15 for D- and D+
  47. #else
  48. #define MICROPY_HW_SPI2_NSS (pin_B12)
  49. #define MICROPY_HW_SPI2_SCK (pin_B13)
  50. #define MICROPY_HW_SPI2_MISO (pin_B14)
  51. #define MICROPY_HW_SPI2_MOSI (pin_B15)
  52. #endif
  53. #define MICROPY_HW_SPI3_NSS (pin_E11)
  54. #define MICROPY_HW_SPI3_SCK (pin_E12)
  55. #define MICROPY_HW_SPI3_MISO (pin_E13)
  56. #define MICROPY_HW_SPI3_MOSI (pin_E14)
  57. //#define MICROPY_HW_SPI4_NSS (pin_E11)
  58. //#define MICROPY_HW_SPI4_SCK (pin_E12)
  59. //#define MICROPY_HW_SPI4_MISO (pin_E13)
  60. //#define MICROPY_HW_SPI4_MOSI (pin_E14)
  61. //#define MICROPY_HW_SPI5_NSS (pin_F6)
  62. //#define MICROPY_HW_SPI5_SCK (pin_F7)
  63. //#define MICROPY_HW_SPI5_MISO (pin_F8)
  64. //#define MICROPY_HW_SPI5_MOSI (pin_F9)
  65. //#define MICROPY_HW_SPI6_NSS (pin_G8)
  66. //#define MICROPY_HW_SPI6_SCK (pin_G13)
  67. //#define MICROPY_HW_SPI6_MISO (pin_G12)
  68. //#define MICROPY_HW_SPI6_MOSI (pin_G14)
  69. // CAN busses
  70. #define MICROPY_HW_CAN1_TX (pin_B9)
  71. #define MICROPY_HW_CAN1_RX (pin_B8)
  72. #define MICROPY_HW_CAN2_TX (pin_B13)
  73. #define MICROPY_HW_CAN2_RX (pin_B12)
  74. // USRSW is pulled low. Pressing the button makes the input go high.
  75. #define MICROPY_HW_USRSW_PIN (pin_A0)
  76. #define MICROPY_HW_USRSW_PULL (GPIO_NOPULL)
  77. #define MICROPY_HW_USRSW_EXTI_MODE (GPIO_MODE_IT_RISING)
  78. #define MICROPY_HW_USRSW_PRESSED (1)