DEV Community

kisorge
kisorge

Posted on

【电机控制器】FM33LF015芯片——定时器

【电机控制器】FM33LF015芯片——定时器


@TOC

前言

使用工具:
1.FM33LF015开发板
2.J-OBV2仿真烧录器
3.USB-TTL
4.上位机串口助手


提示:以下是本篇文章正文内容,下面案例可供参考

一、16 位基本定时器(BSTIM16)

1.概述

在这里插入图片描述

在这里插入图片描述

2.时序框图

在这里插入图片描述

二、通用定时器(GPTIM0,1)

在这里插入图片描述

三、高级定时器(ATIM)

在这里插入图片描述

四、16 位低功耗定时器(LPTIM16)

在这里插入图片描述

五、代码

晶振选用内部RCHF高频 8M
定时器时基计算:8000*1000/8M=1s

void MF_BSTIM16_Init(void)
{
    FL_BSTIM16_InitTypeDef Bstim16;
    FL_NVIC_ConfigTypeDef nvic;

//-------------------------------------------   
    Bstim16.prescaler = 8000 - 1;//8M/8 = 1M                    /* 预分频系数 */
    Bstim16.autoReload = 1000 - 1;  //1/1M*1000 =1ms        /* 自动重装载值 */
    Bstim16.autoReloadState = FL_ENABLE;                    /* 预装载使能 */
    Bstim16.clockSource = FL_CMU_BSTIM16_CLK_SOURCE_APBCLK; /* 时钟源 */

    FL_BSTIM16_Init(BSTIM16, &Bstim16);

//-------------------------------------------
        //溢出中断
    FL_BSTIM16_ClearFlag_Update(BSTIM16);
    FL_BSTIM16_EnableIT_Update(BSTIM16);

    nvic.preemptPriority = 0x02;
    FL_NVIC_Init(&nvic, BSTIM_IRQn);


}
Enter fullscreen mode Exit fullscreen mode
static void Timer_1ms_Deal(void)
{
            Key_Scan();
            printf("test"); 
        //LED1_TOG();
}
Enter fullscreen mode Exit fullscreen mode

六、实验——基本定时器

通过打印的时间间隔,可以看出定时器的时间为1s
在这里插入图片描述

七、参考资料

【STM32学习】定时器寄存器配置、功能工作过程详解
stm32f103定时器配置与时间计算公式
STM32 TIM(一)定时中断+时钟源选择

总结

本文仅仅简单介绍了【电机控制器】FM33LF015芯片——定时器,评论区欢迎讨论。

Top comments (0)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.