@@ -31,7 +31,7 @@ void door_open_input_gpio_init() {
31
31
/*Configure GPIO pin DOOR_OPEN_MCU : PC7 */
32
32
GPIO_InitTypeDef GPIO_InitStruct = {0 };
33
33
GPIO_InitStruct .Pin = DOOR_OPEN_MCU_PIN ;
34
- GPIO_InitStruct .Mode = GPIO_MODE_INPUT ;
34
+ GPIO_InitStruct .Mode = GPIO_MODE_IT_RISING_FALLING ;
35
35
GPIO_InitStruct .Pull = GPIO_NOPULL ;
36
36
HAL_GPIO_Init (DOOR_OPEN_MCU_PORT , & GPIO_InitStruct );
37
37
}
@@ -44,10 +44,10 @@ void door_open_input_gpio_init() {
44
44
void reed_switch_input_gpio_init () {
45
45
/* GPIO Ports Clock Enable */
46
46
__HAL_RCC_GPIOC_CLK_ENABLE ();
47
- /*Configure GPIO pin DOOR_OPEN_MCU : PC11 */
47
+ /*Configure GPIO pin REED_SW_MCU : PC11 */
48
48
GPIO_InitTypeDef GPIO_InitStruct = {0 };
49
49
GPIO_InitStruct .Pin = REED_SW_MCU_PIN ;
50
- GPIO_InitStruct .Mode = GPIO_MODE_INPUT ;
50
+ GPIO_InitStruct .Mode = GPIO_MODE_IT_RISING_FALLING ;
51
51
GPIO_InitStruct .Pull = GPIO_NOPULL ;
52
52
HAL_GPIO_Init (REED_SW_MCU_PORT , & GPIO_InitStruct );
53
53
}
@@ -59,7 +59,7 @@ void reed_switch_input_gpio_init() {
59
59
*/
60
60
void aux_input_gpio_init (void ) {
61
61
/* GPIO Ports Clock Enable */
62
- __HAL_RCC_GPIOB_CLK_ENABLE ();
62
+ __HAL_RCC_GPIOC_CLK_ENABLE ();
63
63
/*Configure GPIO pin AUX_ID_MCU : PC12 */
64
64
GPIO_InitTypeDef GPIO_InitStruct = {0 };
65
65
GPIO_InitStruct .Pin = AUX_ID_MCU_PIN ;
@@ -79,7 +79,7 @@ void hepa_push_button_input_gpio_init(void) {
79
79
/*Configure GPIO pin HEPA_NO_MCU : PB10 */
80
80
GPIO_InitTypeDef GPIO_InitStruct = {0 };
81
81
GPIO_InitStruct .Pin = HEPA_NO_MCU_PIN ;
82
- GPIO_InitStruct .Mode = GPIO_MODE_INPUT ;
82
+ GPIO_InitStruct .Mode = GPIO_MODE_IT_RISING ;
83
83
GPIO_InitStruct .Pull = GPIO_NOPULL ;
84
84
HAL_GPIO_Init (HEPA_NO_MCU_PORT , & GPIO_InitStruct );
85
85
}
@@ -89,9 +89,9 @@ void hepa_push_button_input_gpio_init(void) {
89
89
* @param None
90
90
* @retval None
91
91
*/
92
- void uv_push_button_gpio_init (void ) {
92
+ void uv_push_button_input_gpio_init (void ) {
93
93
/*Configure Ports Clock Enable*/
94
- __HAL_RCC_GPIOB_CLK_ENABLE ();
94
+ __HAL_RCC_GPIOC_CLK_ENABLE ();
95
95
/*Configure GPIO pin UV_NO_MCU : PC2 */
96
96
GPIO_InitTypeDef GPIO_InitStruct = {0 };
97
97
GPIO_InitStruct .Pin = UV_NO_MCU_PIN ;
@@ -100,11 +100,72 @@ void uv_push_button_gpio_init(void) {
100
100
HAL_GPIO_Init (UV_NO_MCU_PORT , & GPIO_InitStruct );
101
101
}
102
102
103
+ /**
104
+ * @brief HEPA ON/OFF GPIO Initialization Function
105
+ * @param None
106
+ * @retval None
107
+ */
108
+ void hepa_on_off_output_init () {
109
+ /* GPIO Ports Clock Enable */
110
+ __HAL_RCC_GPIOA_CLK_ENABLE ();
111
+ /*Configure GPIO pin LED_DRIVE : PA7 */
112
+ GPIO_InitTypeDef GPIO_InitStruct = {0 };
113
+ GPIO_InitStruct .Pin = HEPA_ON_OFF_PIN ;
114
+ GPIO_InitStruct .Mode = GPIO_MODE_OUTPUT_PP ;
115
+ GPIO_InitStruct .Pull = GPIO_PULLDOWN ;
116
+ GPIO_InitStruct .Speed = GPIO_SPEED_FREQ_LOW ;
117
+ HAL_GPIO_Init (HEPA_ON_OFF_PORT , & GPIO_InitStruct );
118
+ }
119
+
120
+ /**
121
+ * @brief UV ON/OFF GPIO Initialization Function
122
+ * @param None
123
+ * @retval None
124
+ */
125
+ void uv_on_off_output_init () {
126
+ /* GPIO Ports Clock Enable */
127
+ __HAL_RCC_GPIOA_CLK_ENABLE ();
128
+ /*Configure GPIO pin LED_DRIVE : PA4 */
129
+ GPIO_InitTypeDef GPIO_InitStruct = {0 };
130
+ GPIO_InitStruct .Pin = UV_ON_OFF_MCU_PIN ;
131
+ GPIO_InitStruct .Mode = GPIO_MODE_OUTPUT_PP ;
132
+ GPIO_InitStruct .Pull = GPIO_PULLDOWN ;
133
+ GPIO_InitStruct .Speed = GPIO_SPEED_FREQ_LOW ;
134
+ HAL_GPIO_Init (UV_ON_OFF_MCU_PORT , & GPIO_InitStruct );
135
+ }
136
+
137
+ /**
138
+ * @brief NVIC EXTI interrupt priority Initialization
139
+ * @param None
140
+ * @retval None
141
+ */
142
+ static void nvic_priority_enable_init () {
143
+ /* EXTI interrupt init DOOR_OPEN_MCU : PC7*/
144
+ // PC7 -> GPIO_EXTI6 (EXTI9_5_IRQn)
145
+ HAL_NVIC_SetPriority (EXTI9_5_IRQn , 5 , 0 );
146
+ HAL_NVIC_EnableIRQ (EXTI9_5_IRQn );
147
+
148
+ /* EXTI interrupt init REED_SW_MCU : PC11*/
149
+ /* EXTI interrupt init HEPA_NO_MCU : PB10*/
150
+ // PC11 -> GPIO_EXTI11 (EXTI15_10_IRQn)
151
+ // PB11 -> GPIO_EXTI11 (EXTI15_10_IRQn)
152
+ HAL_NVIC_SetPriority (EXTI15_10_IRQn , 5 , 0 );
153
+ HAL_NVIC_EnableIRQ (EXTI15_10_IRQn );
154
+
155
+ /* EXTI interrupt init UV_NO_MCU : PC2*/
156
+ // PC2 -> GPIO_EXTI2 (EXTI2_IRQn)
157
+ HAL_NVIC_SetPriority (EXTI2_IRQn , 5 , 0 );
158
+ HAL_NVIC_EnableIRQ (EXTI2_IRQn );
159
+ }
160
+
103
161
void utility_gpio_init (void ) {
104
162
LED_drive_gpio_init ();
163
+ nvic_priority_enable_init ();
105
164
door_open_input_gpio_init ();
106
165
reed_switch_input_gpio_init ();
107
166
aux_input_gpio_init ();
108
167
hepa_push_button_input_gpio_init ();
109
- uv_push_button_gpio_init ();
168
+ uv_push_button_input_gpio_init ();
169
+ hepa_on_off_output_init ();
170
+ uv_on_off_output_init ();
110
171
}
0 commit comments