【BLE】TLSR8258开发记录之6--添加自定义定时任务

1、说明

基于 SDKV3.4 添加自定义定时任务

2、操作

A.首先开启软件定时器宏定义,在blt_soft_timer.h中,将BLT_SOFTWARE_TIMER_ENABLE定义为1
并且添加头文件timer.h

#include "../../drivers/8258/timer.h"

//user define
#ifndef BLT_SOFTWARE_TIMER_ENABLE
#define BLT_SOFTWARE_TIMER_ENABLE                          1    //enable or disable
#endif

在tl_commom.h中添加头文件

#include "vendor/common/blt_soft_timer.h"

B.在app.c文件中添加定时任务(此处为LED定时亮灭)

//MG add
int test0()
{
     gpio_toggle(GPIO_PD2);
     return 0;
}
int test1()
{
     gpio_toggle(GPIO_PD3);
     return 0;
}
int test2()
{
     gpio_toggle(GPIO_PD4);
     return 0;
}

在user_init_noamal函数中添加定时器初始化

     blt_soft_timer_init();
     blt_soft_timer_add(&test0,200000);
     blt_soft_timer_add(&test1,100000);
     blt_soft_timer_add(&test2,500000);

C.在main.c文件中添加GPIO初始化`

//MG add
void  MG_GPIO_Init(void)
{
    gpio_set_func(GPIO_PD2,AS_GPIO);
    gpio_set_output_en(GPIO_PD2,1);
    gpio_write(GPIO_PD2,0);
    gpio_set_func(GPIO_PD3,AS_GPIO);
    gpio_set_output_en(GPIO_PD3,1);
    gpio_write(GPIO_PD3,0);
    gpio_set_func(GPIO_PD4,AS_GPIO);
    gpio_set_output_en(GPIO_PD4,1);
    gpio_write(GPIO_PD4,0);
}

在main函数中添加GPIO初始化

MG_GPIO_Init();

D.在app.c文件中添加计数变量

u32 tick_loop = 0;

在main_loop函数中添加

    tick_loop++;
    blt_soft_timer_process(CALLBACK_ENTRY);

3、现象

程序烧录后,可见D1以200ms的频率闪烁、D2以100ms的频率闪烁、D3以500ms的频率闪烁

  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值