/* * Copyright (c) 2020-2022, CQ 100ask Development Team * * Change Logs: * Date Author Notes * 2022-05-29 Alen first version */ #include #include #include #include #include #include #include #include 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); } }