gpio.c 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. /* Copyright Statement:
  2. *
  3. * This software/firmware and related documentation ("AutoChips Software") are
  4. * protected under relevant copyright laws. The information contained herein is
  5. * confidential and proprietary to AutoChips Inc. and/or its licensors. Without
  6. * the prior written permission of AutoChips inc. and/or its licensors, any
  7. * reproduction, modification, use or disclosure of AutoChips Software, and
  8. * information contained herein, in whole or in part, shall be strictly
  9. * prohibited.
  10. *
  11. * AutoChips Inc. (C) 2022. All rights reserved.
  12. *
  13. * BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
  14. * THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("AUTOCHIPS SOFTWARE")
  15. * RECEIVED FROM AUTOCHIPS AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER
  16. * ON AN "AS-IS" BASIS ONLY. AUTOCHIPS EXPRESSLY DISCLAIMS ANY AND ALL
  17. * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
  18. * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
  19. * NONINFRINGEMENT. NEITHER DOES AUTOCHIPS PROVIDE ANY WARRANTY WHATSOEVER WITH
  20. * RESPECT TO THE SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY,
  21. * INCORPORATED IN, OR SUPPLIED WITH THE AUTOCHIPS SOFTWARE, AND RECEIVER AGREES
  22. * TO LOOK ONLY TO SUCH THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO.
  23. * RECEIVER EXPRESSLY ACKNOWLEDGES THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO
  24. * OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES CONTAINED IN AUTOCHIPS
  25. * SOFTWARE. AUTOCHIPS SHALL ALSO NOT BE RESPONSIBLE FOR ANY AUTOCHIPS SOFTWARE
  26. * RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR
  27. * STANDARD OR OPEN FORUM. RECEIVER'S SOLE AND EXCLUSIVE REMEDY AND AUTOCHIPS'S
  28. * ENTIRE AND CUMULATIVE LIABILITY WITH RESPECT TO THE AUTOCHIPS SOFTWARE
  29. * RELEASED HEREUNDER WILL BE, AT AUTOCHIPS'S OPTION, TO REVISE OR REPLACE THE
  30. * AUTOCHIPS SOFTWARE AT ISSUE, OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE
  31. * CHARGE PAID BY RECEIVER TO AUTOCHIPS FOR SUCH AUTOCHIPS SOFTWARE AT ISSUE.
  32. */
  33. /******************************************************************************
  34. * @version: V2.0.1 AC7840x Demo
  35. ******************************************************************************/
  36. /*!
  37. * @file gpio.c
  38. *
  39. * @brief This file contains the user gpio function..
  40. */
  41. /* =========================================== Includes =========================================== */
  42. #include "gpio.h"
  43. /* ============================================ Define ============================================ */
  44. /* =========================================== Typedef ============================================ */
  45. /* ========================================== Variables =========================================== */
  46. /* ==================================== Functions declaration ===================================== */
  47. /*!
  48. * @brief 初始化LED引脚
  49. *
  50. * @param none
  51. * @return none
  52. */
  53. void GPIO_LedInit(void)
  54. {
  55. /*初始化引脚功能,有部分引脚上电默认为非GPIO,必须选择其功能为GPIO才能作为GPIO使用*/
  56. GPIO_DRV_SetMuxModeSel(LED1_PORT, LED1_PIN, PORT_MUX_AS_GPIO); /*功能复用选择*/
  57. GPIO_DRV_SetMuxModeSel(LED2_PORT, LED2_PIN, PORT_MUX_AS_GPIO);
  58. GPIO_DRV_SetMuxModeSel(LED3_PORT, LED3_PIN, PORT_MUX_AS_GPIO); /*功能复用选择*/
  59. GPIO_DRV_SetMuxModeSel(LED4_PORT, LED4_PIN, PORT_MUX_AS_GPIO);
  60. GPIO_DRV_SetPinDirection(LED1_GPIO, LED1_PIN, 1); /*设置GPIO为输出*/
  61. GPIO_DRV_SetPinDirection(LED2_GPIO, LED2_PIN, 1);
  62. GPIO_DRV_SetPinDirection(LED3_GPIO, LED3_PIN, 1); /*设置GPIO为输出*/
  63. GPIO_DRV_SetPinDirection(LED4_GPIO, LED4_PIN, 1);
  64. /*上电默认LED关闭*/
  65. LED1_OFF;
  66. LED2_OFF;
  67. LED3_OFF;
  68. LED4_OFF;
  69. }
  70. /*!
  71. * @brief 初始化按键引脚
  72. *
  73. * @param none
  74. * @return none
  75. */
  76. void GPIO_KeyInit(void)
  77. {
  78. /*初始化引脚功能,有部分引脚上电默认为非GPIO,必须选择其功能为GPIO才能作为GPIO使用*/
  79. GPIO_DRV_SetMuxModeSel(KEY3_PORT, KEY3_PIN, PORT_MUX_AS_GPIO); /*功能复用选择*/
  80. //GPIO_DRV_SetMuxModeSel(KEY4_PORT, KEY4_PIN, PORT_MUX_AS_GPIO);
  81. GPIO_DRV_SetPinDirection(KEY3_GPIO, KEY3_PIN, 0); /*设置按键引脚为输入*/
  82. //GPIO_DRV_SetPinDirection(KEY4_GPIO, KEY4_PIN, 0);
  83. //GPIO_DRV_SetPullSel(KEY3_PORT, KEY3_PIN, PORT_INTERNAL_PULL_UP_ENABLED); /*使能按键引脚的上拉*/
  84. //GPIO_DRV_SetPullSel(KEY4_PORT, KEY4_PIN, PORT_INTERNAL_PULL_UP_ENABLED);
  85. }
  86. /*!
  87. * @brief GPIO配置
  88. *
  89. * @param none
  90. *
  91. * @return none
  92. */
  93. void GPIO_Init(void)
  94. {
  95. GPIO_LedInit();
  96. GPIO_KeyInit();
  97. //PORT_SetPinIntSel(KEY4_PORT, KEY4_PIN, PORT_INT_FALLING_EDGE);
  98. //GPIO_DRV_InstallCallback(KEY4_INSTANCE, KEY4_handler, 0);
  99. //NVIC_SetPriority(KEY4_IRQ, 3);
  100. }
  101. /* ====================================== Functions define ======================================== */
  102. /* ============================================= EOF ============================================== */