"); //-->
实现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);   
}
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。