NRF51822开发笔记-6.nRF51822裸机实验按键输入控制LED输出

  • 一、设计思路
  • 二、程序代码
  • 三、总结
    • 单个GPIO输入配置函数
    • 多个GPIO输入配置函数

一、设计思路

用一个按键控制LED0和LED1的轮询点亮
按键选择K1对应GPIO_16

LED0和LED1和之前实验一直,GPIO18和GPIO19

二、程序代码

1.初始化输入输出的GPIO
2.定义2个状态变量
3.while主循环采用if判断

int main(void)
{// Configure button-pins as inputs nrf_gpio_cfg_input(BUTTON_0,BUTTON_PULL);// Configure LED-pins as outputs nrf_gpio_cfg_output(LED_0);nrf_gpio_cfg_output(LED_1);    uint8_t btn0_nstate;                             uint8_t btn0_flag = 1; while (true){                      btn0_nstate = nrf_gpio_pin_read(BUTTON_0);if ((btn0_flag == 1) && (btn0_nstate == 0)){nrf_delay_ms(50);if ((btn0_flag == 1) && (btn0_nstate == 0)){nrf_gpio_pin_set(LED_0);nrf_gpio_pin_clear(LED_1);btn0_flag = 0 ;nrf_delay_ms(50);}}if ((btn0_flag == 0) && (btn0_nstate == 0)){nrf_delay_ms(50);if ((btn0_flag == 0) && (btn0_nstate == 0)){nrf_gpio_pin_set(LED_1);nrf_gpio_pin_clear(LED_0);btn0_flag = 1 ;nrf_delay_ms(50);}}}
}

三、总结

1.输出GPIO配置函数和输入配置函数一样,有单个GPIO配置和多个GPIO配置

单个GPIO输入配置函数

nrf_gpio_cfg_input(uint32_t pin_number, nrf_gpio_pin_pull_t pull_config) 设置一个引脚
:没有电平检测;驱动能力是最低等级;上下拉根据传入参数而定;启动input buffer;输入;

多个GPIO输入配置函数

nrf_gpio_range_cfg_input(uint32_t pin_range_start, uint32_t pin_range_end, nrf_gpio_pin_pull_t pull_config) 可以设置好几个引脚
:没有电平检测;驱动能力是最低等级;上下拉是根据传入的参数设定的;启动input buffer;输入;
2.在实际操作中,需要注意防抖的加入,否则按下一次会触发多次操作。

NRF51822开发笔记-6.nRF51822裸机实验按键输入控制LED输出相关推荐

  1. NRF51822开发笔记-5.nRF51822裸机实验GPIO输出驱动LED

    NRF51822开发笔记-5.nRF51822裸机实验GPIO输出驱动LED 一.例程分析 1.多个GPIO输出模式配置函数 2.单个GPI0输出模式配置函数 GPIO输出高电平函数 二.程序设计 一 ...

  2. NRF51822开发笔记-7.nRF51822芯片解读

    NRF51822开发笔记-7.nRF51822芯片解读 一.处理器 二.低功耗 三.硬件接口 学习了2个实验,能够基本上控制GPIO的输入输出模式,接下来要重点学习下这款芯片的规格,方便更好的去开发利 ...

  3. STM32按键输入控制LED、蜂鸣器

    STMSTM32按键输入控制LED.蜂鸣器 基于stm32f407,为实现以上功能,可将问题分为三个部分:LED.蜂鸣器和按键输入. led部分 LED部分 c文件中分为三部分:①使能IO口时钟,②初 ...

  4. NRF51822开发笔记-2.Keil-MDK编译的第一个程序

    NRF51822开发笔记-2.Keil-MDK编译的第一个程序 1.进入安装路径,找到第一个实验Blinky_example,双击打开 2.编译 3.编译成功,无错误 4.生成了Hex文件 编译成功了

  5. NRF51822开发笔记-1.搭建NRF51822开发环境

    NRF51822开发笔记-1.搭建NRF51822开发环境 一.准备软件包 二.安装keil MDK并破解 三.安装NRF SDK 四.安装nRFgo studio 五.安装Jlink驱动 一.准备软 ...

  6. 【STM32学习笔记】(11)——按键输入实验详解

    按键输入实验 实验内容:通过 ALIENTEK 精英 STM32F103 上已有的 3 个按键(KEY_UP.KEY0 和 KEY1),来控制板上的 2 个 LED(DS0 和 DS1)和蜂鸣器,其中 ...

  7. 【嵌入式】按键中断控制 LED 跑马灯实验

    [嵌入式]按键中断控制 LED 跑马灯实验 1. 操作内容 2. 原理解释 2.1 实验箱按键电路 2.2 实验箱LED电路 2.3 寄存器说明 3. 操作步骤 3.1 编写键控制 LED 代码,将代 ...

  8. 驱动——按键中断控制LED灯实验

    三个按键实现按键中断 要求:按键按一下灯亮,再按一下灯灭 注:由于开发板位置,为了方便一一对应观察,采用key1控制LED3,key2控制LED2,key3控制LED1 0.添加相关设备树节点信息 ① ...

  9. zynq开发系列4:MIO按键中断控制LED

    与实验三类似 zynq开发系列3:GPIO连接MIO通过按键控制LED灯亮起 ,PS部分设置为与实验一helloword相同的最小系统,但按键控制LED的方式设置为中断,即通过按下按键为中断这一方式从 ...

最新文章

  1. C++知识点52——多重继承
  2. console用法java_使用console对javaScirpt进行全面调试-全面分析console用法
  3. .Net CLR 中的同步机制(一): 互斥体
  4. 【机器学习基础】使用python实现BP算法
  5. Golang——多种运算符及优先级
  6. 3D空间中射线与三角形的交叉检测算法
  7. java runnable 启动_Java多线程:线程的创建与启动
  8. 干掉if-else,试试状态模式!
  9. 美区苹果id被禁用原因和解除限制方法
  10. 【读书笔记】金字塔原理-目录
  11. html将图片转为圆形并居中
  12. 万元大奖和Switch等你来拿,百度飞桨AI创造营带你出道
  13. eclipse php集成包,php-eclipse集成配置(Ecli
  14. 杭电数字电路课程设计-实验十-JK触发器设计实验
  15. easyexcel表头和内容居中
  16. 学会 Arthas,让你 3 年经验掌握 5 年功力!
  17. Unity3D引擎之渲染技术系列三
  18. AVAudioRecorder 录音
  19. elementui 弹窗遮罩问题;Message层级问题(被遮罩、弹窗遮住,设置层级;弹窗内容被遮罩遮挡)
  20. Loadrunner 录制登录操作

热门文章

  1. 中国未来的首富在医疗和计算机,《福布斯》2020年医疗健康领域全球富豪榜:孙飘扬夫妇稳居榜首...
  2. RotatedRect中返回的角度angle详解
  3. Android应用.三星i9000系列(1).版本选择与USB连接电脑
  4. WebSocket实现广播
  5. java-net-php-python-jsp校园美食点评系统计算机毕业设计程序
  6. 如何使用HTML+CSS画三角形
  7. 微信小程序wx.login()登录
  8. 代码随想录一刷个人记录
  9. 微信小程序视频无缝衔接
  10. VR和AR核心技术分别是什么?两者有什么不同?