CCS配置MSPM0G3507(三) PWM

一.syscfg配置

(1)Clock Config

1.PWM Profiles 配置为 Custom(自定义)

2. 时钟源选择BUSCLK

3.定时器时钟分频 Timer Clock Driver 选择为一分频

4.时钟分频系数设为256

5.软件将会自动计算出可调节的频率范围

6.设置定时器的计数值,会影响最后的PWM频率

7.若勾选 Start Timer 则生成代码后,定时器会自动开启计数。否则要在代码中手动设置。

(2).PWM Config

1.PWM Mode 设置为 Edge-aligned Down Counting  。这个仅决定PWM波形的相位。

2.选择使能通道

3.设置某个PWM通道的参数

PWM Mode可选择计数器的计数方式(向上计数、向下计数、中心计数)

选择向上计数时,占空比 = CCR/(Period + 1)

(3).Pin Config

默认设置为了输出模式,速度为高速。

(4).Pin Mux

1.选择使用哪个定时器

2.选择输出PWM的引脚(引脚复用)

二.代码

0.生成代码后,会在ti_msp_dl_config.c中初始化PWM相关

SYSCFG_DL_init();
SYSCONFIG_WEAK void SYSCFG_DL_init(void)
{
    SYSCFG_DL_initPower();
    SYSCFG_DL_GPIO_init();
    /* Module-Specific Initializations*/
    SYSCFG_DL_SYSCTL_init();
    SYSCFG_DL_PWM_0_init();                 //初始化PWM相关
}
SYSCONFIG_WEAK void SYSCFG_DL_PWM_0_init(void) {

...

    DL_TimerG_setCaptCompUpdateMethod(PWM_0_INST, DL_TIMER_CC_UPDATE_METHOD_IMMEDIATE, DL_TIMERG_CAPTURE_COMPARE_0_INDEX);
    DL_TimerG_setCaptureCompareValue(PWM_0_INST, 500, DL_TIMER_CC_0_INDEX);    //设置CCR0的值为500

    DL_TimerG_setCaptureCompareOutCtl(PWM_0_INST, DL_TIMER_CC_OCTL_INIT_VAL_LOW,
		DL_TIMER_CC_OCTL_INV_OUT_DISABLED, DL_TIMER_CC_OCTL_SRC_FUNCVAL,
		DL_TIMERG_CAPTURE_COMPARE_1_INDEX);

    DL_TimerG_setCaptCompUpdateMethod(PWM_0_INST, DL_TIMER_CC_UPDATE_METHOD_IMMEDIATE, DL_TIMERG_CAPTURE_COMPARE_1_INDEX);
    DL_TimerG_setCaptureCompareValue(PWM_0_INST, 1000, DL_TIMER_CC_1_INDEX);   //设置CCR1的值

    DL_TimerG_enableClock(PWM_0_INST);


    
    DL_TimerG_setCCPDirection(PWM_0_INST , DL_TIMER_CC0_OUTPUT | DL_TIMER_CC1_OUTPUT );


}

1.初始化,若软件没有勾选 Start Timer 则需要在代码中手动开启定时器计数。

int main(void)
{
    SYSCFG_DL_init();

    DL_TimerG_startCounter(PWM_0_INST);

    while (1) {
        
    }
}

2.若要改变PWM的占空比,可以改变CCR的值

例如:已知Period的值为2000,则占空比 = CCR/(Period+1)

                                                                  =1000/(2000 + 1) = 49.97%

DL_TimerG_setCaptureCompareValue(PWM_0_INST, 1000, DL_TIMER_CC_1_INDEX);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值