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

2019-07-22 13:02发布

单步仿真时每次执行到PWMGenConfigure时程序就跑飞了
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
yszong
1楼-- · 2019-07-22 13:45
说完了?
jlyuan
2楼-- · 2019-07-22 18:20

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);
dengdc
3楼-- · 2019-07-22 21:55
 精彩回答 2  元偷偷看……
jlyuan
4楼-- · 2019-07-22 23:05
哈哈 LM3S800内部未集成专用的PWM模块,必须用定时器才能触发,所以。。
heweibig
5楼-- · 2019-07-23 00:09
明白了
jiahy
6楼-- · 2019-07-23 05:25
那编译没有出错了?

一周热门 更多>