mm32f3277g8p_msp.c 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. /*
  2. * Copyright (c) 2020-2022, CQ 100ask Development Team
  3. *
  4. * Change Logs:
  5. * Date Author Notes
  6. * 2022-05-29 Alen first version
  7. */
  8. #include <hal_dma.h>
  9. #include <hal_gpio.h>
  10. #include <hal_rcc.h>
  11. #include <hal_uart.h>
  12. #include <hal_common.h>
  13. #include <stdlib.h>
  14. #include <string.h>
  15. #include <stdio.h>
  16. void UART_MspInit(UART_Type *muart)
  17. {
  18. GPIO_Init_Type gpio_init;
  19. if(muart == UART1)
  20. {
  21. RCC_EnableAPB2Periphs(RCC_APB2_PERIPH_UART1, true);
  22. /* PB6 - UART1_TX. */
  23. /* PB7 - UART1_RX. */
  24. gpio_init.Pins = GPIO_PIN_6;
  25. gpio_init.PinMode = GPIO_PinMode_AF_PushPull;
  26. gpio_init.Speed = GPIO_Speed_50MHz;
  27. GPIO_Init(GPIOB, &gpio_init);
  28. GPIO_PinAFConf(GPIOB, gpio_init.Pins, GPIO_AF_7);
  29. gpio_init.Pins = GPIO_PIN_7;
  30. gpio_init.PinMode = GPIO_PinMode_In_Floating;
  31. gpio_init.Speed = GPIO_Speed_50MHz;
  32. GPIO_Init(GPIOB, &gpio_init);
  33. GPIO_PinAFConf(GPIOB, gpio_init.Pins, GPIO_AF_7);
  34. }
  35. else if(muart == UART2)
  36. {
  37. RCC_EnableAPB1Periphs(RCC_APB1_PERIPH_UART2, true);
  38. /* PD5 - UART2_TX. */
  39. /* PD6 - UART2_RX. */
  40. gpio_init.Pins = GPIO_PIN_5;
  41. gpio_init.PinMode = GPIO_PinMode_AF_PushPull;
  42. gpio_init.Speed = GPIO_Speed_50MHz;
  43. GPIO_Init(GPIOD, &gpio_init);
  44. GPIO_PinAFConf(GPIOD, gpio_init.Pins, GPIO_AF_7);
  45. gpio_init.Pins = GPIO_PIN_6;
  46. gpio_init.PinMode = GPIO_PinMode_In_Floating;
  47. gpio_init.Speed = GPIO_Speed_50MHz;
  48. GPIO_Init(GPIOD, &gpio_init);
  49. GPIO_PinAFConf(GPIOD, gpio_init.Pins, GPIO_AF_7);
  50. }
  51. else if(muart == UART3)
  52. {
  53. RCC_EnableAPB1Periphs(RCC_APB1_PERIPH_UART3, true);
  54. /* PB10 - UART3_TX. */
  55. /* PB11 - UART3_RX. */
  56. gpio_init.Pins = GPIO_PIN_10;
  57. gpio_init.PinMode = GPIO_PinMode_AF_PushPull;
  58. gpio_init.Speed = GPIO_Speed_50MHz;
  59. GPIO_Init(GPIOB, &gpio_init);
  60. GPIO_PinAFConf(GPIOB, gpio_init.Pins, GPIO_AF_7);
  61. gpio_init.Pins = GPIO_PIN_11;
  62. gpio_init.PinMode = GPIO_PinMode_In_Floating;
  63. gpio_init.Speed = GPIO_Speed_50MHz;
  64. GPIO_Init(GPIOB, &gpio_init);
  65. GPIO_PinAFConf(GPIOB, gpio_init.Pins, GPIO_AF_7);
  66. }
  67. }