This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

PWM引脚复用!!!

Other Parts Discussed in Thread: TM4C1294NCPDT

开发板:TM4C1294NCPDT

PF0引脚被用作PWM输出时为什么一直是直线,除了与LED4复用时,请问还有其他的引脚复用吗?

  • 有5种功能可以配置,你需要确认你pwm配置正确

  • SysCtlClockFreqSet(SYSCTL_USE_PLL|SYSCTL_OSC_MAIN|SYSCTL_XTAL_25MHZ|SYSCTL_SYSDIV_25,100000000);

    SysCtlPWMClockSet(SYSCTL_PWMDIV_1);

    SysCtlPeripheralEnable(SYSCTL_PERIPH_PWM0);

    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
    GPIOPinConfigure(GPIO_PF0_M0PWM0);
    GPIOPinConfigure(GPIO_PF1_M0PWM1);
    GPIOPinTypePWM(GPIO_PORTF_BASE, GPIO_PIN_0);
    GPIOPinTypePWM(GPIO_PORTF_BASE, GPIO_PIN_1);
    PWMGenConfigure(PWM0_BASE, PWM_GEN_0, PWM_GEN_MODE_UP_DOWN | PWM_GEN_MODE_NO_SYNC);


    PWMGenPeriodSet(PWM0_BASE, PWM_GEN_0, 500);//50khz

    PWMPulseWidthSet(PWM0_BASE, PWM_OUT_0,PWMGenPeriodGet(PWM0_BASE, PWM_OUT_0) / 5);//100
    PWMPulseWidthSet(PWM0_BASE, PWM_OUT_1,PWMGenPeriodGet(PWM0_BASE, PWM_OUT_1) / 2);//250

    PWMDeadBandEnable(PWM0_BASE, PWM_GEN_0, 160, 160);//ËÄÇø²¹³¥
    // PWMSyncTimeBase(PWM0_BASE, PWM_GEN_1);
    // PWMSyncUpdate(PWM0_BASE, PWM_GEN_1);
    PWMOutputState(PWM0_BASE, PWM_OUT_0_BIT | PWM_OUT_1_BIT, true);

    PWMGenEnable(PWM0_BASE, PWM_GEN_0);

    这样配置没错吧,可是PWM_OUT_0出来的是直线,如果没有设置死区补偿的话,两个都没显示,请问是什么原因