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