76 lines
2.3 KiB
C
76 lines
2.3 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);
|
|
}
|
|
}
|
|
|
|
|