/*****************头文件*************************/
#include "fsl_common.h"
#include "fsl_port.h"
#include "fsl_gpio.h"
#include "pin_Init.h"
#include "fsl_uart.h"

/*****************PTA15初始化*************************/
void pin_Init()
{
    CLOCK_EnableClock(kCLOCK_PortA);    //开启PORT时钟
    port_pin_config_t GPIO_Port_Init = 
    {
        kPORT_PullUp ,    //上拉
        kPORT_FastSlewRate,   //快速压摆率
        kPORT_PassiveFilterDisable,   //无源滤波器
        kPORT_OpenDrainDisable,   //推挽输出
        kPORT_LowDriveStrength,   //低驱动力
        kPORT_MuxAsGpio,  //普通GPIO模式
        kPORT_UnlockRegister, //
    };
    PORT_SetPinConfig(PORTA, 15U, &GPIO_Port_Init); //设置引脚复用方式
    gpio_pin_config_t config =
    {
        kGPIO_DigitalOutput,    //输出模式
        0,
    };
    GPIO_PinInit(GPIOA, 15U, &config);  //初始化PTA15
    GPIO_PinWrite(GPIOA, 15, 1);    //PTA15写1
}

/*****************UART2引脚初始化*************************/
void UART2_InitPins(void)
{
    CLOCK_EnableClock(kCLOCK_PortE);    //开启PORT时钟
    PORT_SetPinMux(PORTE, 16U, kPORT_MuxAlt3);  //PTE16配置为UART2_TX
    PORT_SetPinMux(PORTE, 17U, kPORT_MuxAlt3);  //PTE17配置为UART2_RX
    SIM->SOPT5 = ((SIM->SOPT5 &
                   /* UART1收发数据源选择*/
                   (~(SIM_SOPT5_UART1TXSRC_MASK | SIM_SOPT5_UART1RXSRC_MASK)))
                  | SIM_SOPT5_UART1TXSRC(SOPT5_UART1TXSRC_UART_TX)
                  | SIM_SOPT5_UART1RXSRC(SOPT5_UART1RXSRC_UART_RX));
}