Hi, I need to configure two PWMs but only the first one is working, as seen in the oscilloscope. This is the code that I am using:
int main(void) {
DeviceInit();
MAP_SysCtlPWMClockSet(SYSCTL_PWMDIV_16);
MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_PWM0);
MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);
MAP_GPIOPinConfigure(GPIO_PB6_M0PWM0);
MAP_GPIOPinTypePWM(GPIO_PORTB_BASE, GPIO_PIN_6);
MAP_PWMGenConfigure(PWM0_BASE, PWM_GEN_0, PWM_GEN_MODE_UP_DOWN | PWM_GEN_MODE_NO_SYNC);
MAP_PWMGenPeriodSet(PWM0_BASE, PWM_GEN_0, SERVO_PERIOD);
MAP_PWMOutputState(PWM0_BASE, PWM_OUT_0_BIT, true);
MAP_PWMGenEnable(PWM0_BASE, PWM_GEN_0);
MAP_PWMPulseWidthSet(PWM0_BASE, PWM_OUT_0, SERVO_CENTER);
MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_PWM1);
MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
MAP_GPIOPinConfigure(GPIO_PF0_M1PWM4);
MAP_GPIOPinTypePWM(GPIO_PORTF_BASE, GPIO_PIN_0);
MAP_PWMGenConfigure(PWM1_BASE, PWM_GEN_2, PWM_GEN_MODE_UP_DOWN | PWM_GEN_MODE_NO_SYNC);
MAP_PWMGenPeriodSet(PWM1_BASE, PWM_GEN_2, SERVO_PERIOD);
MAP_PWMOutputState(PWM1_BASE, PWM_OUT_4_BIT, true);
MAP_PWMGenEnable(PWM1_BASE, PWM_GEN_2);
MAP_PWMPulseWidthSet(PWM1_BASE, PWM_OUT_4, SERVO_CENTER);
while (1);
}
I just can't figure out why the second one doesn't work. This makes me feel so stupid :(
Angelo