【轻松玩蓝牙】序列之11:按键中断
本节我们主要是从下面4个方面进行讲解:
1.准备工作
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/4dd0a4278585aada06bfcf58df614ee9.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/85b284f855bd3f544216ea586944ec94.png)
![](http://editerupload.eepw.com.cn/201502/0f364020f22115e1ce990db4360040b1.png)
3.按键的硬件部分
如下图所示,用户按键有两个:Button0和Button1,按键扫描用到了Button0按键,主要是通过外部按键中断来控制LED3的翻转,当按下时,LED3亮,再按一次LED3灭。
![](http://editerupload.eepw.com.cn/201502/d37a7d38700fbe5942367ffa9d588f1e.png)
![](http://editerupload.eepw.com.cn/201502/2a5acebfc0a0248e18bdfc8507f39f26.png)
三、软件部分
1.有了前面一节的基础,那下面就比较简单了,我们只需要编写主函数和按键接口函数即可。
2.主要包括下面3个文件:main.c、exit.c和exit.h。如下图所示
![](http://editerupload.eepw.com.cn/201502/011899998916e0559622ec46786fc495.png)
3.主函数部分。如下图所示:
![](http://editerupload.eepw.com.cn/201502/fc6f7fed88d1811ba7cbab68b407a362.png)
![](http://editerupload.eepw.com.cn/201502/17a3bcfab726dc3e1a2a536b2294dc0b.png)
4.外部中断源文件。如下图所示:
![](http://editerupload.eepw.com.cn/201502/5f65ffe4efff7a9d2e7cdfa59a4ab0d6.png)
![](http://editerupload.eepw.com.cn/201502/1a0247cd693f480df6451fb483e8404b.png)
5.外部中断驱动头文件。如下图所示:
![](http://editerupload.eepw.com.cn/201502/d8ccd5f1c2d4964bca994c4d83cc8874.png)
四、效果展示
下面是下载之后效果验证,LED灯进行翻转说明系统在运行,串口通信显示正常,按下Button0时LED3会亮,再按下Button0时LED3会灭。如下图所示:
![](http://editerupload.eepw.com.cn/201502/61de90f437cf23e1d470dde81e1198f0.png)
![](http://editerupload.eepw.com.cn/201502/c472dbd7e0ab83d7c86815f822861bb9.png)
![](http://editerupload.eepw.com.cn/201502/f23737bae2c94556b292558c702bf696.png)
![](https://webstorage.eepw.com.cn/images/2014/m/wx.png)
加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码
相关文章
-
-
-
-
-
-
-
-
2023-08-24