完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
键盘输入响应 按键的输入其实就是对 GPIO 口进行操作。 同时引入了中断的概念。实际上按键控制分为两种情况, 第一种是按键扫描, 这种情况下, CPU 需要不停的工作, 来判断 GPIO口是否被拉低或者置高,效率是比较低的。另一种方式为中断控制,中断控制的效率很高,一旦系统 IO 口出现上升沿或者下降沿电平就会触发执行中断内的程序。 在 nRF51822 内普通 IO 管脚设置成为 GPIO,中断和任务管脚设置称为 GPIOTE。 SW1 和 SW2 分别和 P0.16 和 P0.17 两个 IO 管脚相连。当 IO 管脚为低的时候可以判断管脚已经按下。通过 key 的按下来控制 led 的亮灭。硬件上设计是比较简单的。 软件中主要是要编写key.c和main函数 #include "key.h" void KEY_Init(void) { nrf_gpio_cfg_input(16,NRF_GPIO_PIN_PULLUP);// nrf_gpio_cfg_input(17,NRF_GPIO_PIN_PULLUP); } uint8_t KEY1_Down(void) { if( nrf_gpio_pin_read(BUTTON_0)== 0 ) { nrf_delay_ms(10); if(nrf_gpio_pin_read(BUTTON_0)== 0 ) { while(nrf_gpio_pin_read(BUTTON_0)== 0 ); return 0 ; } else return 1; } else return 1; } 初始主要配置IO为输入,检测函数主要是完成低电平检测,延时延时去抖,确认按键的输入。 看实物的调试: 评分
|
||
相关推荐
|
||
只有小组成员才能发言,加入小组>>
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-17 07:04 , Processed in 0.708667 second(s), Total 82, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号