You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

72 rivejä
2.3 KiB

  1. /*****************头文件*************************/
  2. #include "fsl_common.h"
  3. #include "fsl_port.h"
  4. #include "fsl_gpio.h"
  5. #include "pin_Init.h"
  6. #include "fsl_uart.h"
  7. /*****************引脚初始化*************************/
  8. void pin_Init()
  9. {
  10. /*ADC指示灯*/
  11. CLOCK_EnableClock(kCLOCK_PortA); //开启PORTA时钟
  12. port_pin_config_t GPIO_Port_Init =
  13. {
  14. kPORT_PullUp , //上拉
  15. kPORT_FastSlewRate, //快速压摆率
  16. kPORT_PassiveFilterDisable, //无源滤波器
  17. kPORT_OpenDrainDisable, //推挽输出
  18. kPORT_HighDriveStrength, //高驱动力
  19. kPORT_MuxAsGpio, //普通GPIO模式
  20. kPORT_UnlockRegister, //
  21. };
  22. PORT_SetPinConfig(PORTA, 15U, &GPIO_Port_Init); //设置PTA15引脚复用方式
  23. PORT_SetPinConfig(PORTA, 16U, &GPIO_Port_Init); //设置PTA16引脚复用方式
  24. gpio_pin_config_t config =
  25. {
  26. kGPIO_DigitalOutput, //输出模式
  27. 0,
  28. };
  29. GPIO_PinInit(GPIOA, 15U, &config); //初始化PTA15
  30. GPIO_PinInit(GPIOA, 16U, &config); //初始化PTA16
  31. GPIO_PinWrite(GPIOA, 15, 1); //PTA15写1
  32. /*编码器方向PTE3*/
  33. CLOCK_EnableClock(kCLOCK_PortE); //开启PORT时钟
  34. PORT_SetPinConfig(PORTE, 3U, &GPIO_Port_Init); //设置引脚复用方式
  35. GPIO_PinInit(GPIOE, 3U, &config); //初始化PTE3
  36. /*ADC采集电压控制PTD4*/
  37. CLOCK_EnableClock(kCLOCK_PortD); //开启PORT时钟
  38. PORT_SetPinConfig(PORTD, 4U, &GPIO_Port_Init); //设置引脚复用方式
  39. gpio_pin_config_t config1 =
  40. {
  41. kGPIO_DigitalInput, //输入模式
  42. };
  43. GPIO_PinInit(GPIOD, 4U, &config1); //初始化PTD4
  44. }
  45. /*****************UART1引脚初始化*************************/
  46. void UART1_InitPins(void)
  47. {
  48. PORT_SetPinMux(PORTE, 0U, kPORT_MuxAlt3); //PTE0配置为UART1_TX
  49. PORT_SetPinMux(PORTE, 1U, kPORT_MuxAlt3); //PTE1配置为UART1_RX
  50. SIM->SOPT5 = ((SIM->SOPT5 &
  51. /* UART1收发数据源选择*/
  52. (~(SIM_SOPT5_UART1TXSRC_MASK | SIM_SOPT5_UART1RXSRC_MASK)))
  53. | SIM_SOPT5_UART1TXSRC(SOPT5_UART1TXSRC_UART_TX)
  54. | SIM_SOPT5_UART1RXSRC(SOPT5_UART1RXSRC_UART_RX));
  55. }
  56. /*****************UART2引脚初始化*************************/
  57. void UART2_InitPins(void)
  58. {
  59. PORT_SetPinMux(PORTE, 16U, kPORT_MuxAlt3); //PTE16配置为UART2_TX
  60. PORT_SetPinMux(PORTE, 17U, kPORT_MuxAlt3); //PTE17配置为UART2_RX
  61. }