LM3S的PWM配置问题

Other Parts Discussed in Thread: LM3S800

LM3S800 PWM,单步仿真时每次执行到PWMGenConfigure时程序就跑飞了 


int main()
{
SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN | SYSCTL_XTAL_6MHZ);
SysCtlPWMClockSet(SYSCTL_PWMDIV_1);          // PWM时钟配置:不分频
    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE);
           
SysCtlPeripheralEnable(SYSCTL_PERIPH_PWM);        // 使能PWM模块
GPIOPinTypePWM(GPIO_PORTE_BASE, GPIO_PIN_0 | GPIO_PIN_1);     // PE0 PE1 配置为PWM功能
PWMGenConfigure(PWM_BASE, PWM_GEN_2, PWM_GEN_MODE_UP_DOWN | PWM_GEN_MODE_NO_SYNC);    // 配置PWM发生器2    | PWM_GEN_MODE_DBG_RUN
PWMGenPeriodSet(PWM_BASE, PWM_GEN_2, SysCtlClockGet());         // 设置PWM发生器2的周期
PWMPulseWidthSet(PWM_BASE, PWM_OUT_4, SysCtlClockGet()/2);         // 设置PWM4输出的脉宽
PWMPulseWidthSet(PWM_BASE, PWM_OUT_5, SysCtlClockGet()/2);         // 设置PWM5输出的脉宽
PWMOutputState(PWM_BASE, (PWM_OUT_4_BIT | PWM_OUT_5_BIT), true);  // 使能PWM4和PWM5的输出
PWMGenEnable(PWM_BASE, PWM_GEN_2);           // 使能PWM发生器2,开始产生方波
while(1);
}