rt-thread-official/bsp/mm32/mm32f3270-100ask-pitaya/board/mm32f3277g8p_msp.c

76 lines
2.2 KiB
C

/*
* Copyright (c) 2020-2022, CQ 100ask Development Team
*
* Change Logs:
* Date Author Notes
* 2022-05-29 Alen first version
*/
#include <hal_dma.h>
#include <hal_gpio.h>
#include <hal_rcc.h>
#include <hal_uart.h>
#include <hal_common.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
void UART_MspInit(UART_Type *muart)
{
GPIO_Init_Type gpio_init;
if(muart == UART1)
{
RCC_EnableAPB2Periphs(RCC_APB2_PERIPH_UART1, true);
/* PB6 - UART1_TX. */
/* PB7 - UART1_RX. */
gpio_init.Pins = GPIO_PIN_6;
gpio_init.PinMode = GPIO_PinMode_AF_PushPull;
gpio_init.Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &gpio_init);
GPIO_PinAFConf(GPIOB, gpio_init.Pins, GPIO_AF_7);
gpio_init.Pins = GPIO_PIN_7;
gpio_init.PinMode = GPIO_PinMode_In_Floating;
gpio_init.Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &gpio_init);
GPIO_PinAFConf(GPIOB, gpio_init.Pins, GPIO_AF_7);
}
else if(muart == UART2)
{
RCC_EnableAPB1Periphs(RCC_APB1_PERIPH_UART2, true);
/* PD5 - UART2_TX. */
/* PD6 - UART2_RX. */
gpio_init.Pins = GPIO_PIN_5;
gpio_init.PinMode = GPIO_PinMode_AF_PushPull;
gpio_init.Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOD, &gpio_init);
GPIO_PinAFConf(GPIOD, gpio_init.Pins, GPIO_AF_7);
gpio_init.Pins = GPIO_PIN_6;
gpio_init.PinMode = GPIO_PinMode_In_Floating;
gpio_init.Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOD, &gpio_init);
GPIO_PinAFConf(GPIOD, gpio_init.Pins, GPIO_AF_7);
}
else if(muart == UART3)
{
RCC_EnableAPB1Periphs(RCC_APB1_PERIPH_UART3, true);
/* PB10 - UART3_TX. */
/* PB11 - UART3_RX. */
gpio_init.Pins = GPIO_PIN_10;
gpio_init.PinMode = GPIO_PinMode_AF_PushPull;
gpio_init.Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &gpio_init);
GPIO_PinAFConf(GPIOB, gpio_init.Pins, GPIO_AF_7);
gpio_init.Pins = GPIO_PIN_11;
gpio_init.PinMode = GPIO_PinMode_In_Floating;
gpio_init.Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &gpio_init);
GPIO_PinAFConf(GPIOB, gpio_init.Pins, GPIO_AF_7);
}
}