新闻  |   论坛  |   博客  |   在线研讨会
Nrf52832GPIO输入设置
电子禅石 | 2018-01-16 14:33:05    阅读:12352   发布文章

实现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);  
}


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
属于自己的技术积累分享,成为嵌入式系统研发高手。
推荐文章
最近访客