ald_timer_handle_t g_bstim_init; // 定义一个定时器句柄变量,用于初始化和配置定时器
ald_timer_clock_config_t g_bstim_clock_config; // 定义一个时钟配置结构体变量,用于配置定时器的时钟源
static void BSTIM_init(void)
{
/* Initialize bstim */
memset(&g_bstim_init, 0x0, sizeof(g_bstim_init)); /* 将定时器句柄结构体清零 */
g_bstim_init.perh = AD16C4T; // 设置定时器的外设为AD16C4T
g_bstim_init.init.prescaler = 72 - 1; /* 设置预分频器,使计数频率为1MHz */
g_bstim_init.init.mode = ALD_TIMER_CNT_MODE_UP; /* 设置计数模式为向上计数 */
g_bstim_init.init.period = 1000 - 1; /* 设置周期为1000个计数时钟 */
g_bstim_init.init.clk_div = ALD_TIMER_CLOCK_DIV1; /* 设置死区时间和滤波器的时钟分频系数为1 */
g_bstim_init.init.re_cnt = 0; /* 设置重复计数为0 */
g_bstim_init.period_elapse_cbk = ald_timer_period_elapsed_callback; /* 设置周期到达回调函数 */
ald_timer_base_init(&g_bstim_init); // 初始化定时器基本参数
/* Initialize clock source */
g_bstim_clock_config.source = ALD_TIMER_SRC_INTER; /**< 使用内部时钟源 */
ald_timer_config_clock_source(&g_bstim_init, &g_bstim_clock_config); // 配置定时器的时钟源
ald_mcu_irq_config(BSTIM0_IRQn, 4, ENABLE);/* 启用AD16C4T的中断,优先级为4 */
ald_timer_base_start_by_it(&g_bstim_init); /* 通过中断启动定时器更新中断 */
}