【轻松玩蓝牙】序列之12:定时器中断
时间:03-11 13:52 阅读:1799次
*温馨提示:点击图片可以放大观看高清大图
简介:本节我们主要是从下面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灯的硬件部分

2.串口的硬件部分
如下图所示: 青云QY-nRF51822开发板上,通过高质量的芯片CP2102实现usb转串口,下面是nrf51822的芯片串口管脚分配:
管脚P0.08连接CTS
管脚P0.09连接TXD
管脚P0.10连接RTS
管脚P0.11连接RXD,


3.按键的硬件部分
如下图所示,用户按键有两个:Button0和Button1,按键扫描用到了Button0按键,主要是通过外部按键中断来控制LED3的翻转,当按下时,LED3亮,再按一次LED3灭。


三、软件部分
1.有了前面一节的基础,那下面就比较简单了,我们只需要编写主函数和按键接口函数即可。
2.主要包括下面3个文件:main.c、time.c和time.h。如下图所示

3.主函数部分。如下图所示:


4.定时器中断源文件。如下图所示:




5.定时器中断驱动头文件。如下图所示:


四、效果展示
下面是下载之后效果验证,串口通信显示正常,LED1、LED2、LED3都是通过定时器来控制的,定时时间为1s。如下图所示:




