打印

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

[复制链接]
784|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jlyuan|  楼主 | 2016-6-28 20:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
yszong| | 2016-6-28 20:02 | 只看该作者
说完了?

使用特权

评论回复
板凳
jlyuan|  楼主 | 2016-6-28 20:02 | 只看该作者

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| | 2016-6-28 20:03 | 只看该作者
奇怪的问题

使用特权

评论回复
5
jlyuan|  楼主 | 2016-6-28 20:03 | 只看该作者
哈哈 LM3S800内部未集成专用的PWM模块,必须用定时器才能触发,所以。。

使用特权

评论回复
6
heweibig| | 2016-6-28 20:03 | 只看该作者
明白了

使用特权

评论回复
7
jiahy| | 2016-6-28 20:03 | 只看该作者
那编译没有出错了?

使用特权

评论回复
8
jlyuan|  楼主 | 2016-6-28 20:04 | 只看该作者
没有,编译只是能检测语法是否正确吧

使用特权

评论回复
9
shimx| | 2016-6-28 20:04 | 只看该作者
没搞过、、、

使用特权

评论回复
10
jlyuan|  楼主 | 2016-6-28 20:04 | 只看该作者
呵呵,结贴了哈

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

880

主题

12030

帖子

4

粉丝