打印
[CC2640]

CC2640定义一个周期性事件

[复制链接]
343|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
磨砂|  楼主 | 2019-12-31 14:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1.Application events//定义一个时间
#define SP_EVT                          10
2.Clock instance for internal periodic events//定义一个时钟结构体变量
static Clock_Struct SP_clk;
3.Create one-shot clock event//开启这个时钟,1000代笔1秒
Util_constructClock(&SP_clk, SimplePeripheral_clockHandler,1000, 0, true,SP_EVT);

位置可以放在函数SimplePeripheral_processGapMessage里面,的case GAP_DEVICE_INIT_DONE_EVENT里面

static void SimplePeripheral_processGapMessage(gapEventHdr_t *pMsg)
{
  switch(pMsg->opcode)
  {
    case GAP_DEVICE_INIT_DONE_EVENT:

                     。。。。。
4.Handler function for clock timeouts.//在时间到了回调用clockHandler函数,在里面加入条件判断
static void SimplePeripheral_clockHandler(UArg arg){
    if (arg == SP_EVT)
    {
    // Send message to app
    SimplePeripheral_enqueueMsg(SP_EVT, NULL);
    }
}
5.Process an incoming callback from a profile.//其实上一部分就可以实现,
//只是如果把事件放入消息队列中,去执行更好
static void SimplePeripheral_processAppMsg(spEvt_t *pMsg){
    case SP_EVT:
      //-------------------------------
        Display_printf(dispHandle, 15, 0, "----%d--------",__LINE__);
        Util_startClock(&SP_clk);
      break;

}
6.Start Periodic Clock.
Util_startClock(&clkPeriodic);
这样就做到了循环


使用特权

评论回复

相关帖子

沙发
zljiu| | 2020-1-6 11:54 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
板凳
coshi| | 2020-1-6 11:57 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
地板
aoyi| | 2020-1-6 12:05 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
5
drer| | 2020-1-6 12:08 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
6
gwsan| | 2020-1-6 12:11 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

94

主题

4126

帖子

2

粉丝