FM33LG0包含1个16位基本定时器。
基本定时器包含一个16bit自动重载计数器及一个可编程预分频器。
基本定时器主要用来产生系统时基,也可以产生触发事件来驱动ADC采样
测试代码如下。
void BSTIM_Init(uint16_t pres,uint16_t reld,uint32_t priority)
{
FL_BSTIM16_InitTypeDef timInit;
timInit.prescaler = pres - 1; // 分频系数8000
timInit.autoReload = reld - 1; // 自动重装载值1000
timInit.autoReloadState = FL_ENABLE; // 预装载preload使能
timInit.clockSource = FL_CMU_BSTIM16_CLK_SOURCE_APBCLK;
FL_BSTIM16_Init(BSTIM16, &timInit);
/---------------- 中断配置 ----------------/
/* 使能并配置NVIC /
NVIC_DisableIRQ(BSTIM_IRQn);
NVIC_SetPriority(BSTIM_IRQn, priority); //设置中断优先级
NVIC_EnableIRQ(BSTIM_IRQn);
/---------------------------------------------/
FL_BSTIM16_ClearFlag_Update(BSTIM16);/ 清除标志 /
FL_BSTIM16_EnableIT_Update(BSTIM16);/ 中断使能 /
/ 使能 /
FL_BSTIM16_Enable(BSTIM16); // 使能定时器
}
//LPTIM16中断服务程序
void BSTIM_IRQHandler(void)
{
//定时器溢出时翻转LED0
if( FL_BSTIM16_IsActiveFlag_Update(BSTIM16))
{
FL_BSTIM16_ClearFlag_Update(BSTIM16);/ 清除标志 */
LED0_TOG();
}
}
FM33LG0XX-16位基本定时器
于 2022-03-01 10:57:11 首次发布