【电机控制器】FM33LF015芯片——PWM输出


@TOC

前言

使用工具:
1.ARM仿真器/J-OBV2仿真器


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

一、接线

VCC——3.3
GND——GND
SWDIO——SWDIO
SWCLK——SWCLK

二、32 位低功耗定时器(LPTIM32)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、代码

#include "mf_config.h"
/**
  * @brief  LPTIM32_TimerBase Initialization function
  * @param  void
  * @retval None
  */
    /* 占空比:CRR/ARR=1-500/1000=50% */
    /* PWM周期:ARR*PSC/PCLK=1000*8/8M=0.001s=1ms */
void MF_LPTIM32_TimerBase_Init(void)
{
    FL_LPTIM32_InitTypeDef    TimerBase_InitStruct;

    TimerBase_InitStruct.clockSource = FL_CMU_LPTIM32_CLK_SOURCE_APBCLK;
    TimerBase_InitStruct.prescalerClockSource = FL_LPTIM32_CLK_SOURCE_INTERNAL;
        /* PSC=8 */
    TimerBase_InitStruct.prescaler = FL_LPTIM32_PSC_DIV8;//FL_LPTIM32_PSC_DIV8
    TimerBase_InitStruct.autoReload = 999;
    TimerBase_InitStruct.mode = FL_LPTIM32_OPERATION_MODE_NORMAL;
    TimerBase_InitStruct.onePulseMode = FL_LPTIM32_ONE_PULSE_MODE_CONTINUOUS;
    TimerBase_InitStruct.triggerEdge = FL_LPTIM32_ETR_TRIGGER_EDGE_RISING;
    TimerBase_InitStruct.countEdge = FL_LPTIM32_ETR_COUNT_EDGE_RISING;

    FL_LPTIM32_Init(LPTIM32, &TimerBase_InitStruct);
}

/**
  * @brief  LPTIM32_Channel1 Initialization function
  * @param  void
  * @retval None
  */
void MF_LPTIM32_Channel1_Init(void)
{
    FL_GPIO_InitTypeDef    GPIO_InitStruct;

    FL_LPTIM32_OC_InitTypeDef    LPTIM32_InitStruct;

    GPIO_InitStruct.pin = FL_GPIO_PIN_8;
    GPIO_InitStruct.mode = FL_GPIO_MODE_DIGITAL;
    GPIO_InitStruct.outputType = FL_GPIO_OUTPUT_PUSHPULL;
    GPIO_InitStruct.pull = FL_DISABLE;
    GPIO_InitStruct.remapPin = FL_ENABLE;
    GPIO_InitStruct.analogSwitch = FL_DISABLE;
    FL_GPIO_Init(GPIOA, &GPIO_InitStruct);

    LPTIM32_InitStruct.compareValue = 799;//499
    LPTIM32_InitStruct.OCPolarity = FL_LPTIM32_OC_POLARITY_NORMAL;

    FL_LPTIM32_OC_Init(LPTIM32, FL_LPTIM32_CHANNEL_1, &LPTIM32_InitStruct);
}

void LPTIM32_Setup(void)
{
    FL_LPTIM32_Enable(LPTIM32);
}

void LPTIM32_Loop(void)
{

}

四、PWM周期、占空比理论计算

/* 占空比:1-CRR/ARR=1-500/1000=50% /
/ PWM周期:ARR*PSC/PCLK=1000*8/8M=0.001s=1ms */




五、实验

1ms20%

在这里插入图片描述
在这里插入图片描述

1ms50%

在这里插入图片描述

2ms 50%

在这里插入图片描述

六、参考资料

PWM原理 PWM频率与占空比详解
STM32 PWM占空比和信号周期的控制因素分析

总结

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