前言

本篇文章讲解如何使用mspm0g3507输出pwm

首先图形化配置文件

首先开启pwm设置

配置pwm输出频率

分频越大,输出频率越低

这里系统已经帮我们计算表好了范围

然后 PWM Period Count 1000是我们设置的满值

后面再程序中我们可以调用函数来修改 0-1000 对应0-100%的占空比

蓝色是使能要打开

选择计数模式

向上计数,然后我使用的是pb14引脚,查手册发现是12的1,所以选择1通道

设定初始值

这里的1000是初始值,或者直接修改%,软件会自动计算出来

选择对应引脚编号

然后再选择下定时器编号和引脚

然后就可以生成了

根据配置文件定义

pwm.h

#ifndef PWM_H
#define PWM_H

#include "ti_msp_dl_config.h"
#define PWM_TIM TIMG12
#define PWM_CH DL_TIMER_CC_1_INDEX
void Set_PWM(uint16_t pwm);
#endif

pwm.c

#include "pwm.h"

void Set_PWM(uint16_t pwm)
{
    DL_TimerG_setCaptureCompareValue(PWM_TIM, pwm, PWM_CH);
}

主函数调用,实现呼吸灯

        for(i=0;i<1000;i++)
        {
            Set_PWM(i);
            delay_ms(1);
        }
              for(i=0;i<1000;i++)
        {
            Set_PWM(1000-i);
            delay_ms(1);
        }

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐