蓝牙芯片NRF51822入门学习:时间管理

本文是针对NRF51822蓝牙芯片的入门学习,聚焦时间管理模块。介绍了如何使用SDK中的虚拟定时器,包括初始化、创建、停止等操作,并通过流水灯例子深入解析定时器工作原理。还提供了源码阅读提示和中断处理机制的概述。
摘要由CSDN通过智能技术生成

前言
如果你跟我一样是一个蓝牙新手,并且还没有买nrf51822的开发板的话,推荐先学cc2541,如果已经买了开发板,那就看我的《蓝牙芯片NRF51822入门学习》系列文章吧,祝你尽早出坑。

本文面对的是:已经掌握nrf51822基本外设,并且阅读了TI官方视频,对蓝牙有了初步了解,但对怎么进一步学习nrf51822没有头绪的孩子。

本文的相关工具、代码和文章更新网盘链接:http://pan.baidu.com/s/1bn5y9gr 密码:ijxf
网盘内有以下两个子文件夹:

\相关软件 当中nrf51_sdk_v6_0_0_43681.zip是我们要用到的V6.0版本的SDK
\文章更新 内部有每篇文章的PDF、代码、资料、工具。
\BLE视频 TI对蓝牙基本属性的讲解

开发工具

5.1版MDK,nRFgo studio

固件版本

nrf51_sdk_v6_0_0_43681.msi,s110_nrf51822_7.0.0_softdevice.hex

相关硬件

JTAG,兼容pca10001的nrf51822开发板。

第一节:常用接口描述

开篇教程中,我们来学习nrf51822的Libraries中时间管理模块,它的源代码和头文件分别为app_timer.c/app_timer.h

这是Nordic为我们提供的虚拟定时器,这个定时器不同于硬件上的TIMER,而是基于RTC1实现的一种虚拟定时器,其将定时功能作为了一个资源进行管理,所以会有初始化、创建等过程。

  • PS1:
    nrf51822的SDK采用封装思想,需要暴露给用户的信息都在相关模块的头文件中;为了提醒用户不去看具体实现细节,我们可以发现相关的API,比如app_timer_create()的源码部分都是没有接口描述信息的,相关使用方法需要看app_timer.h或者翻阅SDK目录下的Documentation\index.html。还有一些隐藏细节的封装技巧,感兴趣的孩童可以看本篇第三节。

  • PS2:快速查找定位文件,可以安装一个软件:everything,输入文件名就可以瞬间查找到想要的文件,然后再文件上右键选择“open
    path”就可以打开文件所在的文件夹了。

1、参数宏APP_TIMER_INIT()

这个宏用于初始化app_timer模块,这是一个参数宏,接口定义如下:

APP_TIMER_INIT(PRESCALER, MAX_TIMERS, OP_QUEUES_SIZE, USE_SCHEDULER)

其中PRESCALE 分频比例,填入0的话,每秒就产生32768次tick,定时最大长度为0xFFFFFF次tick,也就是说5

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值