MCPcopy Create free account
hub / github.com/RT-Thread/rt-thread / _key_int_init

Function _key_int_init

bsp/hc32/tests/test_pm.c:171–199  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

169}
170
171static void _key_int_init(void)
172{
173 stc_extint_init_t stcExtIntInit;
174 stc_irq_signin_config_t stcIrqSignConfig;
175 stc_gpio_init_t stcGpioInit;
176
177 /* configuration structure initialization */
178 (void)GPIO_StructInit(&stcGpioInit);
179 stcGpioInit.u16ExtInt = PIN_EXTINT_ON;
180 stcGpioInit.u16PullUp = PIN_PU_ON;
181 /* GPIO config */
182 (void)GPIO_Init(BSP_KEY_PORT, BSP_KEY_PIN, &stcGpioInit);
183
184 /* Extint config */
185 (void)EXTINT_StructInit(&stcExtIntInit);
186 stcExtIntInit.u32Edge = EXTINT_TRIG_FALLING;
187 (void)EXTINT_Init(BSP_KEY_EXTINT, &stcExtIntInit);
188
189 /* IRQ sign-in */
190 stcIrqSignConfig.enIntSrc = BSP_KEY_INT_SRC;
191 stcIrqSignConfig.enIRQn = BSP_KEY_IRQn;
192 stcIrqSignConfig.pfnCallback = KEY_IrqHandler;
193 (void)INTC_IrqSignIn(&stcIrqSignConfig);
194
195 /* NVIC config */
196 NVIC_ClearPendingIRQ(stcIrqSignConfig.enIRQn);
197 NVIC_SetPriority(stcIrqSignConfig.enIRQn, DDL_IRQ_PRIO_DEFAULT);
198 NVIC_EnableIRQ(stcIrqSignConfig.enIRQn);
199}
200
201
202static void _wkup_cfg_sleep_deep()

Callers 1

pm_sample_initFunction · 0.85

Calls 5

GPIO_StructInitFunction · 0.50
GPIO_InitFunction · 0.50
NVIC_ClearPendingIRQFunction · 0.50
NVIC_SetPriorityFunction · 0.50
NVIC_EnableIRQFunction · 0.50

Tested by

no test coverage detected