我在 TM4C1230E6Pm 器件上工作, 并遇到 PWM 代码问题,下面是代码。
编译代码时出现输出错误,并且在运行器件时,执行 PWMGenConfigure (PWM1_base、PWM_GEN_2、PWM_GEN_MODE_DOWN)之后会出现 ISR 故障; 行。
请帮助我处理相同的问题或向我分享 PWM 的参考代码。
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOF);
SysCtlPeripheralEnable (SYSCTL_Periph_PWM1);
SysCtlPWMClockSet (SYSCTL_PWMDIV_1);
// HWREG (GPIO_PORTF_BASE + GPIO_LOCK)= GPIO_LOCK_KEY;
// HWREG (GPIO_PORTF_BASE + GPIO_O_CR)|= 0x01;
GPIOPinConfigure (GPIO_PF1_M1PWM5);
GPIOPinConfigure (GPIO_PF2_M1PWM6);
GPIOPinConfigure (GPIO_PF3_M1PWM7);
GPIOPinTypePWM (GPIO_PORTF_BASE、GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2|GPIO_PIN_3);
// PWMGenConfigure (PWM1_base、PWM_GEN_2、PWM_GEN_MODE_DOWN |PWM_GEN_MODE_NO_SYNC);
// PWMGenConfigure (PWM1_base、PWM_GEN_3、PWM_GEN_MODE_DOWN |PWM_GEN_MODE_NO_SYNC);
PWMGenConfigure (PWM1_base、PWM_GEN_2、PWM_GEN_MODE_DOWN);
PWMGenConfigure (PWM1_base、PWM_GEN_3、PWM_GEN_MODE_DOWN);
PWMGenPeriodSet (PWM1_base、PWM_GEN_2、400);
PWMGenPeriodSet (PWM1_base、PWM_GEN_3、400);
PWMPulseWidthSet (PWM1_base、PWM_OUT_5、400);
PWMPulseWidthSet (PWM1_base、PWM_OUT_6、400);
PWMPulseWidthSet (PWM1_base、PWM_OUT_7、400);
PWMGenEnable (PWM1_base、PWM_GEN_2);
PWMGenEnable (PWM1_base、PWM_GEN_3);
PWMOutputState (PWM1_base、(PWM_OUT_4_BIT | PWM_OUT_5_BIT | PWM_OUT_6_bit|PWM_OUT_7_bit)、true);
// PWMGenDisable (PWM1_base、PWM_GEN_2);
// PWMGenDisable (PWM1_base、PWM_GEN_3);
}