MSPM0G3507学习——PWM

2024.07.15

一基础功能:利用timer-pwm,在示波器观测PA12和PA13会输出不同占空比的矩形波。

二进阶功能:在一的基础上,当按键按下时,占空比发生变化。

PWM配置:通常都默认使用BUSCLK,本实验PWM频率为1000Hz,可通过分频以及改变Count得到想要的频率。由于不用特别高的精度,所以Mode也采用默认设置即可。

设置占空比

本人在调试时遇到按下按键后占空比不发生改变的情况,经过反复检查代码和配置,发现犯了一个很低级的错误,不过鉴于本人目前是一枚努力入门的小菜鸟,所以任何自己排查出来的错误都是有意义滴!

错把Direction设置成了output,记得要改成input才能检测到按键是否按下!

#include "ti/driverlib/dl_timerg.h"
#include "ti_msp_dl_config.h"

uint32_t val;

int main(void)
{
    SYSCFG_DL_init();

    DL_TimerG_startCounter(PWM_0_INST);

    while (1)
    {
        val = DL_GPIO_readPins(GPIO_BUTTON_PORT, GPIO_BUTTON_PIN_S2_PIN );

        if(val)
        {
            DL_TimerG_setCaptureCompareValue(PWM_0_INST, 22400, DL_TIMER_CC_0_INDEX);
            DL_TimerG_setCaptureCompareValue(PWM_0_INST, 9599, DL_TIMER_CC_1_INDEX);
        }
        else
        {
            DL_TimerG_setCaptureCompareValue(PWM_0_INST, 9599, DL_TIMER_CC_0_INDEX);
            DL_TimerG_setCaptureCompareValue(PWM_0_INST,22400 , DL_TIMER_CC_1_INDEX);
        }
    }
}

此外,通过设置val观测引脚电平变化。

由于是PB21,则从右往左数,第21位为高电平。(按键按下为低电平,未按时为高电平)

好咯,明天继续加油!

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值