"); //-->
实现GPIO输入检测,触发另一个LED 灯亮。使用GPIOTE实现,不用PPI.
初始化:
ret_code_t charging_powergood_init(void)
{
ret_code_t err_code;
if(!nrf_drv_gpiote_is_init())
{
err_code = nrf_drv_gpiote_init();
if (err_code != NRF_SUCCESS)
{
return NRF_ERROR_INTERNAL;
}
}
nrf_gpio_cfg_input(POWER_GOOD_PIN,NRF_GPIO_PIN_PULLUP);
nrf_drv_gpiote_in_config_t in_config = GPIOTE_CONFIG_IN_SENSE_TOGGLE(true);
in_config.pull = NRF_GPIO_PIN_PULLUP;
err_code = nrf_drv_gpiote_in_init(CHARGING_PIN, &in_config, in_pin_handler);
APP_ERROR_CHECK(err_code);
nrf_drv_gpiote_in_event_enable(CHARGING_PIN, true);
}
中断处理函数:
void in_pin_handler(nrf_drv_gpiote_pin_t pin, nrf_gpiote_polarity_t action)
{
nrf_drv_gpiote_out_toggle(LED_2);
}
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。