打印
[技术问答]

M051的PWM多路输出的问题

[复制链接]
2547|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
feiante|  楼主 | 2015-2-10 17:36 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
今天学习M051的PWM功能,想用PWM0和PWM1生成两路PWM波形,但是为什么永远都是只有一路有波形,以下是PWM部分的程序,从寄存器来看,已经使能了PWM0和PWM1 的输出
void PWM_Init(void)
{
        /* 使能PWM0,PWM1时钟 */
    CLK_EnableModuleClock(PWM01_MODULE);

    /* Select PWM module clock source = 12MHz */
    CLK_SetModuleClock(PWM01_MODULE, CLK_CLKSEL1_PWM01_S_HXT, 0);

    /* P2.0:PWM0 */
    SYS->P2_MFP = SYS_MFP_P20_PWM0;
        SYS->P2_MFP = SYS_MFP_P21_PWM1;

    /* Reset PWM0~3 */
    SYS_ResetModule(PWM03_RST);

        PWM_ConfigOutputChannel(PWMA, PWM_CH0, 10000, 60);
        PWM_ConfigOutputChannel(PWMA, PWM_CH1, 523, 60);

        PWM_EnableOutput(PWMA,0x03);
        PWM_Start(PWMA, 0x03);
}


沙发
feiante|  楼主 | 2015-2-11 10:01 | 只看该作者
已经解决了,呵呵         

使用特权

评论回复
板凳
598330983| | 2015-2-13 20:28 | 只看该作者
楼主讲讲怎么回事啊,我遇到好解决

使用特权

评论回复
地板
mintspring| | 2015-2-14 13:13 | 只看该作者
楼主自力更生人才啊

使用特权

评论回复
5
feiante|  楼主 | 2015-2-15 19:03 | 只看该作者
598330983 发表于 2015-2-13 20:28
楼主讲讲怎么回事啊,我遇到好解决

    SYS->P2_MFP = SYS_MFP_P20_PWM0;
        SYS->P2_MFP = SYS_MFP_P21_PWM1;
就是这两句不要分开,用或就可以了

使用特权

评论回复
6
mintspring| | 2015-2-15 22:55 | 只看该作者
feiante 发表于 2015-2-15 19:03
SYS->P2_MFP = SYS_MFP_P20_PWM0;
        SYS->P2_MFP = SYS_MFP_P21_PWM1;
就是这两句不要分开,用 ...

我知道了,你分开后,相当于前面一句,白设置了,或一下,就是这两个位置全部更改

使用特权

评论回复
7
598330983| | 2015-2-16 21:46 | 只看该作者
原来是后面的修改影响了前面的指令

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

30

主题

512

帖子

1

粉丝