【BLE-CC2640】CC2640之自定义周期事件

本篇博文最后修改时间:2017年06月02日,00:29。


一、简介

本文以SimpleBLEPeripheral工程为例,介绍如何使用系统提供的定时器执行一个自定义的周期事件


二、实验平台

协议栈版本:ble_cc26xx_2_01_00_44423

编译软件:IAR Embedded Workbench for ARM Version 7.40

硬件平台:CC26xxDK开发板

仿真器:XDS100V3(香瓜)


版权声明

博主:甜甜的大香瓜

声明:喝水不忘挖井人,转载请注明出处。

原文地址:http://blog.csdn.NET/feilusia

联系方式:897503845@qq.com

香瓜BLE之CC2541群:127442605

香瓜BLE之CC2640群:557278427

香瓜BLE之Android群:541462902

香瓜单片机之STM8/STM32群:164311667
香瓜单片机之Linux群:512598061
香瓜单片机之职场交流群:450154342
甜甜的大香瓜的小店(淘宝店):https://shop217632629.taobao.com/?spm=2013.1.1000126.d21.hd2o8i

四、 实验前提
1、在进行本文步骤前,请先 阅读 以下博文:
暂无

2、在进行本文步骤前,请先 实现以下博文:
暂无


五、实验步骤

1、定义周期事件

1)定义周期事件的宏(simpleBLEPeripheral.c中)

#define SBP_GUA_PERIODIC_EVT                  0x0020    //香瓜周期事件

2)添加周期事件的处理(simpleBLEPeripheral.c的SimpleBLEPeripheral_taskFxn中)

    //香瓜周期事件
    if (events & SBP_GUA_PERIODIC_EVT)
    {
      events &= ~SBP_GUA_PERIODIC_EVT;

      //再次启动定时器
      Util_startClock(&GUA_periodicClock);

      //香瓜周期处理函数
      GUA_performPeriodicTask();
    }  
放在其他事件之后即可。


2、定义及声明周期事件的处理函数(simpleBLEPeripheral.c中)

1)定义周期事件的处理函数

//******************************************************************************            
//name:             GUA_performPeriodicTask           
//introduce:        周期事件的处理函数       
//parameter:        none                
//return:           none         
//author:           甜甜的大香瓜                 
//email:            897503845@qq.com     
//QQ group          香瓜BLE之CC2640(557278427)                  
//changetime:       2016.08.28                     
//****************************************************************************** 
static void GUA_performPeriodicTask(void)
{

}
这里没做任何处理,可自行添加如LED闪烁、串口打印等,方便查看现象。


2)声明周期事件的处理函数

static void GUA_performPeriodicTask(void);

3、初始化定时器

1)定义定时器结构体数据(simpleBLEPeripheral.c中)

//GUA
static Clock_Struct GUA_periodicClock;

2)设置定时时间(simpleBLEPeripheral.c中)

//GUA
#define SBP_GUA_PERIODIC_EVT_PERIOD           3000      //香瓜定时时间
这里设置为3000ms。

3)初始化定时事件(simpleBLEPeripheral.c的SimpleBLEPeripheral_init中)

  //初始化定时器
  Util_constructClock(&GUA_periodicClock, SimpleBLEPeripheral_clockHandler,
                      SBP_GUA_PERIODIC_EVT_PERIOD, 0, false, SBP_GUA_PERIODIC_EVT);

  //启动定时器
  Util_startClock(&GUA_periodicClock);  

注意一个是定时器初始化函数,另一个是启动定时器函数。必须两个都有,定时器才能被启动起来。

simpleBLEPeripheral工程默认一上电虽然进行了定时器初始化,而启动定时器放在连接回调事件中,因此只有连接之后才会执行工程中默认的定时器周期函数。


六、实验结果

设置断点在周期事件中,仿真查看,可发现约3S进一次事件。


因此,实验成功。





  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: BLE-CC254x是一种蓝牙低功耗(BLE)芯片,在物联网(IoT)和智能家居等领域应用广泛。BLE-CC254x安装包是为了让开发者可以更方便地使用这种芯片并进行软件开发而设计的。 BLE-CC254x安装包通常包含了一些必要的软件工具、驱动程序、开发文档以及一些示例代码等,这些都能够帮助开发者更快速地上手和进行开发。 在安装BLE-CC254x安装包之前,首先需要确定自己的电脑系统是否和该安装包兼容,并且需要按照安装包中的说明进行操作。安装完成后,开发者就可以开始使用BLE-CC254x芯片进行软件开发了。 需要注意的是,虽然BLE-CC254x安装包提供了很多便利,但如果开发者想要充分发挥出BLE-CC254x芯片的性能优势,还需要进行深入的学习和研究,以掌握相关的知识和技能。 ### 回答2: BLE-CC254x是一款蓝牙低能耗芯片,安装包则是指针对该芯片开发的软件安装包。 BLE-CC254x安装包主要是由一些驱动程序、固件升级文件、应用程序等组成,可以协助用户完成对该芯片的控制以及使用。安装包可以用于开发BLE相关的应用程序,支持不同的操作系统,如Windows、Linux等。 使用BLE-CC254x安装包,用户不仅可以轻松地配置芯片工作模式和参数,还能够进行调试和测试,以保证应用程序的正确运行。安装包提供了丰富的API和例程,使开发者能够快速上手开发,同时还支持多种开发环境,如Keil、IAR等。 总的来说,BLE-CC254x安装包是一款能够提高开发效率和开发质量的工具,它为开发者提供了方便、快捷的开发环境和丰富的开发资源。如果您正在开发BLE相关的应用程序,使用BLE-CC254x安装包一定会为您的工作带来很大的帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值