nRF52832-Timer使用
环境介绍
PC环境:Windows
IDE环境:ARM-MDK5
SDK环境:nRF5 SDK v15.1.0
硬件环境:nRF52832开发板(外设配置与官方pca10040开发板一致)
使用官方的timer例程,该位于nRF5_SDK_15.1.0_a8c0c4d\examples\peripheral\timer\pca10040\blank\arm5_no_packs
目录下。
注:pca10040代表nRF52832例程,blank代表基础应用工程,ARM-MDK5选择arm5_no_packs
Timer使用配置
Timer配置步骤如下:
- 实例化定时器,获取分配的实例ID
- 实现回调函数
- 定时器配置,一般使用默认配置,其他配置可使用独立函数进行配置
- 获取设定时间所需的ticks数
- 设置定时器通道的拓展比较模式
- 使能定时器实例
Timer相关参数说明:
- 定时器一共有5个:timer0~4,所以最多实例5个定时器
- 使用SoftDevice时,timer0不能使用
- 每个定时器最多拥有6个捕获比较通道NRF_TIMER_CC_CHANNEL0~5
官方源码分析
官方源码中timer应用在main.c文件实现,本文根据个人理解作相应的注释,如下:
1 | const nrf_drv_timer_t TIMER_LED = NRF_DRV_TIMER_INSTANCE(0); //实例化timer0,获取分配ID:TIMER_LED |
资源参考
官方文档:http://infocenter.nordicsemi.com/index.jsp
例程说明位于官方文档目录:Software Development Kit > nRF5 SDK > nRF5 SDK v15.1.0 > Examples > Hardware peripheral examples > Timer Example
timer相关API函数说明位于官方目录:Software Development Kit > nRF5 SDK > nRF5 SDK v15.1.0 > API Reference > Peripheral drivers > Peripheral drivers > TIMER
代码烧录
- 擦除FLASH
- 烧写应用程序
具体操作参考:nRF52832-程序下载