前言
本篇文章讲解如何使用mspm0g3507输出pwm
首先图形化配置文件

首先开启pwm设置

配置pwm输出频率
分频越大,输出频率越低
这里系统已经帮我们计算表好了范围
然后 PWM Period Count 1000是我们设置的满值
后面再程序中我们可以调用函数来修改 0-1000 对应0-100%的占空比
蓝色是使能要打开

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

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

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

然后就可以生成了
根据配置文件定义

pwm.h
cpp
#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
cpp
#include "pwm.h"
void Set_PWM(uint16_t pwm)
{
DL_TimerG_setCaptureCompareValue(PWM_TIM, pwm, PWM_CH);
}
主函数调用,实现呼吸灯
cpp
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);
}