/*****************头文件*************************/ #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)); } /*****************UART0引脚初始化*************************/ void UART0_InitPins(void) { CLOCK_EnableClock(kCLOCK_PortB); //开启PORT时钟 PORT_SetPinMux(PORTB, 0U, kPORT_MuxAlt7); //PTB0配置为UART0_RX PORT_SetPinMux(PORTB, 1U, kPORT_MuxAlt7); //PTB1配置为UART0_TX SIM->SOPT5 = ((SIM->SOPT5 & /* UART0收发数据源选择*/ (~(SIM_SOPT5_UART0TXSRC_MASK | SIM_SOPT5_UART0RXSRC_MASK))) | SIM_SOPT5_UART0TXSRC(SOPT5_UART0TXSRC_UART_TX) | SIM_SOPT5_UART0RXSRC(SOPT5_UART0RXSRC_UART_RX)); }