芯科BG22学习笔记:6-如何添加定时器
实验目的:BG22芯片添加定时器功能
实验环境:Simplicity Studio V5
实验器材:Wireless Starter Kit Mainboard (BRD4001A Rev A01) + EFR32xG22 2.4 GHz 6 dBm QFN32 Radio Board (BRD4183A)
实验开始:
1. 新建工程,蓝牙工程输入soc empty, 普通MCU工程输入empty c


2. 打开SOFTWARE COMPONENTS,搜索对话框输入timer,点击Install

3. 在app.c文件加入头文件
#include "sl_simple_timer.h"
4. 在应用程序中添加如下例程
//定义一个寄存器
static sl_simple_timer_t app_opened_timer;
//定时器中断子程序
static void app_opened_timer_cb(sl_simple_timer_t *timer, void *data)
{
(void)data;
(void)timer;
sl_led_turn_off(&sl_led_led0);//GPIO输出低电平*
}
//启动定时器,定时1000ms,调用子程序app_opened_timer_cb,非周期定时器
sc = sl_simple_timer_start(&app_opened_timer,
1000,
app_opened_timer_cb,
NULL,
false);
5. 如需要添加毫秒计时器

6. 在程序中添加如下代码(需要毫秒计时器定时,并完成第5步中的毫秒定时器组件的安装后)
#include "ustimer.h"
int main( void )
{
// USTIMER初始化
USTIMER_Init();
// 启动250毫秒定时并等待其结束
USTIMER_Delay(250);
}
7. 如何在蓝牙程序中添加soft timer定时器
老SDK添加:
sl_bt_system_set_soft_timer(32768, 0, 0);// 定时一秒
新SDK添加
sl_bt_system_set_lazy_soft_timer(32768,0,0,0);
然后在void sl_bt_on_event(sl_bt_msg_t *evt)里添加
case sl_bt_evt_system_soft_timer_id:
break;
完

浙公网安备 33010602011771号