打印

LM3S的PWM配置

[复制链接]
1371|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chenyu988|  楼主 | 2013-8-20 21:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 chenyu988 于 2013-8-20 21:16 编辑

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);
}

相关帖子

沙发
dirtwillfly| | 2013-8-22 21:38 | 只看该作者
奇怪的问题

使用特权

评论回复
板凳
chenyu988|  楼主 | 2013-8-23 08:32 | 只看该作者
dirtwillfly 发表于 2013-8-22 21:38
奇怪的问题

哈哈 LM3S800内部未集成专用的PWM模块,必须用定时器才能触发,所以。。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
senking + 1
地板
dirtwillfly| | 2013-8-23 18:28 | 只看该作者
chenyu988 发表于 2013-8-23 08:32
哈哈 LM3S800内部未集成专用的PWM模块,必须用定时器才能触发,所以。。

明白了

使用特权

评论回复
5
pmp| | 2013-8-23 20:59 | 只看该作者
chenyu988 发表于 2013-8-23 08:32
哈哈 LM3S800内部未集成专用的PWM模块,必须用定时器才能触发,所以。。

那编译没有出错了?

使用特权

评论回复
6
chenyu988|  楼主 | 2013-8-24 12:25 | 只看该作者
pmp 发表于 2013-8-23 20:59
那编译没有出错了?

没有,编译只是能检测语法是否正确吧

使用特权

评论回复
7
senking| | 2013-9-24 22:07 | 只看该作者
学习 了

使用特权

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

本版积分规则

47

主题

1108

帖子

14

粉丝