1 /**
2   *******************************************************************************************************
3   * @file    fm33lc0xx_fl_exti.h
4   * @author  FMSH Application Team
5   * @brief   Head file of EXTI FL Module
6   *******************************************************************************************************
7   * @attention
8   *
9   * Copyright (c) [2021] [Fudan Microelectronics]
10   * THIS SOFTWARE is licensed under Mulan PSL v2.
11   * You can use this software according to the terms and conditions of the Mulan PSL v2.
12   * You may obtain a copy of Mulan PSL v2 at:
13   *          http://license.coscl.org.cn/MulanPSL2
14   * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
15   * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
16   * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
17   * See the Mulan PSL v2 for more details.
18   *
19   *******************************************************************************************************
20   */
21 
22 
23 /* Define to prevent recursive inclusion---------------------------------------------------------------*/
24 #ifndef __FM33LC0XX_FL_EXTI_H
25 #define __FM33LC0XX_FL_EXTI_H
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 /* Includes -------------------------------------------------------------------------------------------*/
31 #include "fm33lc0xx_fl_def.h"
32 /** @addtogroup FM33LC0XX_FL_Driver
33   * @{
34   */
35 
36 /** @defgroup EXTI EXTI
37   * @brief EXTI FL driver
38   * @{
39   */
40 
41 /* Exported types -------------------------------------------------------------------------------------*/
42 /** @defgroup EXTI_FL_ES_INIT EXTI Exported Init structures
43   * @{
44   */
45 
46 /**
47   * @brief FL EXTI Common Init Sturcture definition
48   */
49 typedef struct
50 {
51     /*! EXTI时钟源配置 */
52     uint32_t clockSource;
53 
54 } FL_EXTI_CommonInitTypeDef;
55 
56 /**
57   * @brief FL EXTI Init Sturcture definition
58   */
59 typedef struct
60 {
61     /*! EXTI输入配置 */
62     uint32_t input;
63 
64     /*! EXTI触发边沿配置 */
65     uint32_t triggerEdge;
66 
67     /*! EXTI数字滤波配置 */
68     uint32_t filter;
69 
70 } FL_EXTI_InitTypeDef;
71 
72 /**
73   * @}
74   */
75 /* Exported constants ---------------------------------------------------------------------------------*/
76 /** @defgroup EXTI_FL_Exported_Constants EXTI Exported Constants
77   * @{
78   */
79 
80 
81 
82 #define    FL_GPIO_EXTI_INPUT_GROUP0                              (0x0U << 0U)
83 #define    FL_GPIO_EXTI_INPUT_GROUP1                              (0x1U << 0U)
84 #define    FL_GPIO_EXTI_INPUT_GROUP2                              (0x2U << 0U)
85 #define    FL_GPIO_EXTI_INPUT_GROUP3                              (0x3U << 0U)
86 
87 
88 
89 /**
90   * @}
91   */
92 /* Exported functions ---------------------------------------------------------------------------------*/
93 /** @defgroup EXTI_FL_Exported_Functions EXTI Exported Functions
94   * @{
95   */
96 
97 /**
98   * @}
99   */
100 
101 /** @defgroup EXTI_FL_EF_Init Initialization and de-initialization functions
102   * @{
103   */
104 
105 FL_ErrorStatus  FL_EXTI_CommonInit(FL_EXTI_CommonInitTypeDef *init);
106 FL_ErrorStatus  FL_EXTI_CommonDeinit(void);
107 void            FL_EXTI_CommonStructInit(FL_EXTI_CommonInitTypeDef *init);
108 
109 FL_ErrorStatus  FL_EXTI_Init(uint32_t extiLineX, FL_EXTI_InitTypeDef *init);
110 FL_ErrorStatus  FL_EXTI_DeInit(uint32_t extiLineX);
111 void            FL_EXTI_StructInit(FL_EXTI_InitTypeDef *init);
112 
113 /**
114   * @}
115   */
116 
117 /**
118   * @}
119   */
120 
121 /**
122   * @}
123   */
124 
125 #ifdef __cplusplus
126 }
127 #endif
128 
129 #endif /* __FM33LC0XX_FL_EXTI_H */
130 
131 /*************************Py_Code_Generator Version: 0.1-0.14-0.2 @ 2021-03-16*************************/
132 /********************** (C) COPYRIGHT Fudan Microelectronics **** END OF FILE ***********************/
133