开发板:TM4C1294NCPDT
PF0引脚被用作PWM输出时为什么一直是直线,除了与LED4复用时,请问还有其他的引脚复用吗?
xyz549040622:
有5种功能可以配置,你需要确认你pwm配置正确
shunyi zhang:
回复 xyz549040622:
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出来的是直线,如果没有设置死区补偿的话,两个都没显示,请问是什么原因
TI中文支持网

