【轻松玩蓝牙】序列之10:按键扫描
本节我们主要是从下面4个方面进行讲解:
本文引用地址://www.cghlg.com/article/269607.htm1.准备工作
2.硬件部分
3.软件部分
4.效果展示
一、准备工作
1.电脑一台;
2.已经安装好了MDK;
3.已经安装了nRF51_sdk软件;
4.已经安装了nrfgostudio_win-32;
5.以上已经确定安装成功了;
6.蓝牙开发板。
二、硬件部分
nRF51822 是 cortex m0 内核, 其串口通信也和其他的cortex m0 内核的处理器相同。并且在官方代码里给出了 uart 的参数配置库函数代码,这样使用起来非常容易上手。硬件连接如下图所示:
1.LED灯的硬件部分
![](http://editerupload.eepw.com.cn/201502/6e03208460b937171f6f7962de6e54cd.png)
2.串口的硬件部分
如下图所示: 青云 QY-nRF51822 开发板上,通过高质量的芯片 CP2102 实现 usb 转串口,下面是 nrf51822的芯片串口管脚分配:
管脚 P0.08 连接 CTS
管脚 P0.09 连接 TXD
管脚 P0.10 连接 RTS
管脚 P0.11连接 RXD,
![](http://editerupload.eepw.com.cn/201502/54991c8587312dcdd0cc22abe56a6a18.png)
![](http://editerupload.eepw.com.cn/201502/e1bb91786150373ac94b3c00fd246621.png)
3.按键的硬件部分
如下图所示,用户按键有两个:Button0和Button1,按键扫描用到了Button0按键,主要是通过不断的进行扫描来判断是否有按键按下,如果有按键按下,则LED3点亮。
![](http://editerupload.eepw.com.cn/201502/068ee8ee227e83f9efd4378698c6e809.png)
![](http://editerupload.eepw.com.cn/201502/653191e11c0ea5c39cc8593331ad48b2.png)
三、软件部分
1.有了前面一节的基础,那下面就比较简单了,我们只需要编写主函数和按键接口函数即可。
2.主要包括下面3个文件:main.c、key.c和key.h。如下图所示
![](http://editerupload.eepw.com.cn/201502/e73f2441a7e129380618e09d06fa9e6b.png)
3.主函数部分。如下图所示:
![](http://editerupload.eepw.com.cn/201502/1f2065cf7b7efddfd03418fc42b441f1.png)
![](http://editerupload.eepw.com.cn/201502/f530355da1cb17ef23a3988cacb2977d.png)
4.按键驱动源文件。如下图所示:
![](http://editerupload.eepw.com.cn/201502/47c615866d3d4c2375252ed0cd6226f7.png)
![](http://editerupload.eepw.com.cn/201502/0a8ad274260031044224d5957023e436.png)
![](http://editerupload.eepw.com.cn/201502/12ee2ce9af2601e527019c92acaa4141.png)
5.按键驱动头文件。如下图所示:
![](http://editerupload.eepw.com.cn/201502/7323d0a1f8865703ab3fc1f2dd7696a3.png)
四、效果展示
下面是下载之后效果验证,LED灯进行翻转说明系统在运行,串口通信显示正常,按下Button0时LED3会亮,放手就会灭。如下图所示:
![](http://editerupload.eepw.com.cn/201502/ca7b2368c1133681ffa98e2836837cf9.png)
![](http://editerupload.eepw.com.cn/201502/ef3301b793bf446b6d204e29881b0815.jpg)
![](http://editerupload.eepw.com.cn/201502/972bbe31d0eadb22e969b7b1c38b3ef8.png)
评论