nRF 外部中断(GPIOTE)

 ̄綄美尐妖づ 提交于 2020-01-22 09:09:35
// GPIOTE 驱动初始化:
err_code = nrf_drv_gpiote_init();
APP_ERROR_CHECK(err_code);


// 配置设置GPIOTE输出参数,从低电平到高电平
nrf_drv_gpiote_out_config_t out_config = GPIOTE_CONFIG_OUT_SIMPLE(0);

// GPIOTE输出初始化:
err_code = nrf_drv_gpiote_out_init(LED_1, &out_config);
APP_ERROR_CHECK(err_code);


//配置设置GPIOTE输入参数,从低电平到高电平
nrf_drv_gpiote_out_config_t in_config = GPIOTE_CONFIG_IN_SENSE_TOGGLE(true);

// GPIOTE输入初始化,设置触发中断
err_code = nrf_drv_gpiote_in_init(BUTTON_1, &in_config, in_pin_handler);
APP_ERROR_CHECK(err_code);

// 设置GPIOE输入事件使能
nrf_drv_gpiote_in_event_enable(BUTTON_1, true);



// 中断函数设计,发生中断后LED翻转
void in_pin_handler(nrf_drv_gpiote_pin_t pin, nrf_gpiote_polarity_t action)
{
    nrf_drv_gpiote_out_toggle(LED_1);
}

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!