初学nRF52840,第三节,按键输入简单扫描,非状态机模式

开发板:初雪得100出头那块 NRF52840 EVAL KIT

下载器:JLINK V8固件,已经更新到最新的固件了,我用过ST LINK,和DAP都可以下载, 但一旦全片擦除要解锁芯片写保护,只能用JLINK来解.

内容: 按键输入

原理图

初学nRF52840,第三节,按键输入简单扫描,非状态机模式_第1张图片

 

用到寄存器函数

#define KEY1  NRF_GPIO_PIN_MAP(0,11)
   nrf_gpio_cfg_input(KEY1,NRF_GPIO_PIN_PULLUP); //上拉输入
   nrf_gpio_pin_read(KEY1) // 读取端口电平

主函数

int main(void)
{
    nrf_gpio_cfg_input(KEY1,NRF_GPIO_PIN_PULLUP); //上拉输入
    Init_Led(); //LED
    while (1)
    {
        if(!nrf_gpio_pin_read(KEY1))
        {
            nrf_delay_ms(10);
            if(!nrf_gpio_pin_read(KEY1))//延迟消抖
            {
                LED_TOGGLE(LED0);
            }
            while(!nrf_gpio_pin_read(KEY1)); //松手检测1
            nrf_delay_ms(10);
            while(!nrf_gpio_pin_read(KEY1)); //松手检测2
        }

    }
}

效果图

初学nRF52840,第三节,按键输入简单扫描,非状态机模式_第2张图片

点一下KEY就LED变更一次状态

注:在实际应用中应该禁止使用这种按键扫描方式,应该改用状态机定时器扫描按键

你可能感兴趣的:(初学nRF52840,第三节,按键输入简单扫描,非状态机模式)