专栏中心

EEPW首页 > 专栏 > 裸机GPIOTE 产生中断

裸机GPIOTE 产生中断

发布人:电子禅石 时间:2017-09-01 来源:工程师 发布文章
#include "nrf_gpio.h"
#include "nrf51.h"
//定义自己板子上的按键和led灯
#define     BUTTON_PIN  17
#define   LED_PIN    21
int main(void){
    //讯联的板子上按钮上没有接上拉电阻,所以需要下面这两句来设置输入有
    //上拉电阻,不然的话每次按键后几秒钟内再按键都会没反应,要等一会按
    //才会有反应
    nrf_gpio_pin_pull_t config = NRF_GPIO_PIN_PULLUP;
    nrf_gpio_cfg_input(BUTTON_PIN, config);
    //配置GPIOTE通道0作为event,”绑定”按键引脚,设置下降沿产生event
    NRF_GPIOTE->CONFIG[0] = 1 << 0
                     |(BUTTON_PIN << 8)
                     |(2 << 16);
    //配置LED输出
    nrf_gpio_cfg_output(LED_PIN); 
    //配置 event发生的时候产生中断,
    NRF_GPIOTE->INTENSET = 0X01;
    //配置GPIOTE中断优先级,并使能GPIOTE中断
    NVIC_SetPriority(GPIOTE_IRQn, 1);
    NVIC_ClearPendingIRQ(GPIOTE_IRQn);
    NVIC_EnableIRQ(GPIOTE_IRQn);
    while(1);
    return 0;
}
//中断处理函数:
void GPIOTE_IRQHandler(void){
    if ( NRF_GPIOTE->EVENTS_IN[0] == 1 ){
        //首先清楚event,不然会导致中断退出有event任然存在导致一直
        //触发中断
        NRF_GPIOTE->EVENTS_IN[0] = 0;    
        nrf_gpio_pin_toggle(LED_PIN);
    }
}


专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

PI公司推出革命性IC产品CAPZero

视频 2010-04-29

冰箱散热风扇改造:提升制冷效率

空调专用开关电源(SMPS)参考设计

消费电子 2026-05-15

Mixer_Basics

TI Fusion GUI 演示

视频 2010-05-06

应用材料公司发布2026财年第二季度财务报告

爆满的MeeGo课程-蒋倩

视频 2010-04-23

LC_Oscillator

美国汽车业对中国零部件依赖加深

PCM特色和优势

视频 2010-04-29

480W 超薄高效率 AC/DC 电源参考设计

无人机安全:无刷电机故障检测系统

无电池汗液传感器:持续监测健康

Hybrid

资源下载 2007-12-22

汽车暖通空调(HVAC)控制参考设计

PCM 101

视频 2010-04-29

中国自研 “澜闪” 超算 纯CPU架构算力达1.54艾级

网络与存储 2026-05-18

便携式超声波光缆沟槽记录仪设计

更多 培训课堂
更多 焦点
更多 视频

技术专区