打印

TI Stellaris LM4 PWM输出问题

[复制链接]
2924|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
月无涯|  楼主 | 2013-5-7 10:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void PWM0_Configure(void)
{
        //使能PWM外设
        SysCtlPeripheralEnable(SYSCTL_PERIPH_PWM);
        //使能GPIO管脚
        SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);
        //配置GPIO管脚的PWM复用功能
        GPIOPinConfigure(GPIO_PD2_WT3CCP0);
        //选择管脚作为硬件外设控制
        GPIOPinTypePWM(GPIO_PORTD_BASE,GPIO_PIN_2);       
        //设置PWM系统时钟
        SysCtlPWMClockSet(SYSCTL_PWMDIV_1);
        //配置pwm模块的工作模式
        PWMGenConfigure(PWM_BASE,PWM_GEN_0,PWM_GEN_MODE_DOWN|PWM_GEN_MODE_NO_SYNC);
        //PWM发生器周期配置
        //IN this case you get: (1/250Hz)*16MHz=64000 cycles.
        //T = 4(ms)
        PWMGenPeriodSet(PWM_BASE,PWM_GEN_0,64000);
        //设置输出PWM的高电平宽度,宽度值是PWM计数器的计时时钟数
        PWMPulseWidthSet(PWM_BASE,PWM_OUT_0,16000);
        //使能PWM输出管脚
        PWMOutputState(PWM_BASE,PWM_OUT_0_BIT,true);
        //开启PWM发生器的定时计数器
        PWMGenEnable(PWM_BASE,PWM_GEN_0);
}
以上是我PWM初始化的代码,用示波器检测输出信号,发现输出一直为高电平,调试了很久了,一直没找到原因,遇到类似情况的或者了解的可以交流下

相关帖子

沙发
1988020566| | 2013-5-7 11:49 | 只看该作者
没有用过的。

使用特权

评论回复
板凳
1988020566| | 2013-5-7 11:50 | 只看该作者
不过应该使能引脚的时钟吧。

使用特权

评论回复
地板
月无涯|  楼主 | 2013-5-7 12:06 | 只看该作者
1988020566 发表于 2013-5-7 11:50
不过应该使能引脚的时钟吧。

要将PD口的时钟使能?

使用特权

评论回复
5
1988020566| | 2013-5-8 00:18 | 只看该作者
月无涯 发表于 2013-5-7 12:06
要将PD口的时钟使能?

感觉应该是,看你程序没有的吧。

使用特权

评论回复
6
1988020566| | 2013-5-8 00:19 | 只看该作者
这个板子没有用过的。

使用特权

评论回复
7
qin552011373| | 2013-6-30 23:56 | 只看该作者
没用过

使用特权

评论回复
8
sanwave| | 2013-8-26 08:35 | 只看该作者
本帖最后由 sanwave 于 2013-8-26 08:36 编辑

我最近也在做这个,昨天努力了半晚上,结果最后才看到 LM4F120系列没有硬件PWM模块,必须有Timer模块产生PWM波
不知道你的是不是120系列的?

使用特权

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

本版积分规则

2

主题

5

帖子

0

粉丝