/*****************头文件*************************/ #include "fsl_common.h" #include "fsl_port.h" #include "fsl_gpio.h" #include "pin_Init.h" #include "fsl_uart.h" /*****************引脚初始化*************************/ void pin_Init() { /*ADC指示灯*/ CLOCK_EnableClock(kCLOCK_PortA); //开启PORTA时钟 port_pin_config_t GPIO_Port_Init = { kPORT_PullUp , //上拉 kPORT_FastSlewRate, //快速压摆率 kPORT_PassiveFilterDisable, //无源滤波器 kPORT_OpenDrainDisable, //推挽输出 kPORT_HighDriveStrength, //高驱动力 kPORT_MuxAsGpio, //普通GPIO模式 kPORT_UnlockRegister, // }; PORT_SetPinConfig(PORTA, 15U, &GPIO_Port_Init); //设置PTA15引脚复用方式 PORT_SetPinConfig(PORTA, 16U, &GPIO_Port_Init); //设置PTA16引脚复用方式 gpio_pin_config_t config = { kGPIO_DigitalOutput, //输出模式 0, }; GPIO_PinInit(GPIOA, 15U, &config); //初始化PTA15 GPIO_PinInit(GPIOA, 16U, &config); //初始化PTA16 GPIO_PinWrite(GPIOA, 15, 1); //PTA15写1 /*编码器方向PTE3*/ CLOCK_EnableClock(kCLOCK_PortE); //开启PORT时钟 PORT_SetPinConfig(PORTE, 3U, &GPIO_Port_Init); //设置引脚复用方式 GPIO_PinInit(GPIOE, 3U, &config); //初始化PTE3 /*ADC采集电压控制PTD4*/ CLOCK_EnableClock(kCLOCK_PortD); //开启PORT时钟 PORT_SetPinConfig(PORTD, 4U, &GPIO_Port_Init); //设置引脚复用方式 gpio_pin_config_t config1 = { kGPIO_DigitalInput, //输入模式 }; GPIO_PinInit(GPIOD, 4U, &config1); //初始化PTD4 } /*****************UART1引脚初始化*************************/ void UART1_InitPins(void) { PORT_SetPinMux(PORTE, 0U, kPORT_MuxAlt3); //PTE0配置为UART1_TX PORT_SetPinMux(PORTE, 1U, kPORT_MuxAlt3); //PTE1配置为UART1_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)); } /*****************UART2引脚初始化*************************/ void UART2_InitPins(void) { PORT_SetPinMux(PORTE, 16U, kPORT_MuxAlt3); //PTE16配置为UART2_TX PORT_SetPinMux(PORTE, 17U, kPORT_MuxAlt3); //PTE17配置为UART2_RX }