打印

f2812用比较单元实现pwm波输出问题,请帮忙??

[复制链接]
2649|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bl20020825|  楼主 | 2007-7-21 17:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用f2812的比较单元实现pwm输出有问题,我的对寄存器初始化代码如下面所示,这里我采用比较单元输出pwm波的同时,也采用了通用定时器1的比较输出,在运行程序时,通用定时器的比较输出是正常的,但是用比较单元pwm输出引脚没现象!郁闷,请高手指点,是不是哪里设置有问题???

EALLOW;
GpioMuxRegs.GPAMUX.bit.T1PWM_GPIOA6 = 0x0ff;//使能通用时钟1比较输出引脚
EDIS;

EvaRegs.GPTCONA.bit.TCOMPOE = 1;
EvaRegs.GPTCONA.bit.T1PIN = 1;
EvaRegs.T1PR = 32763;//时钟1的周期值为T1PR + 1
EvaRegs.T1CMPR = 10000; //比较值设置

//比较单元寄存器初始化
EvaRegs.CMPR1 = 32763;
EvaRegs.CMPR2 = 32763;
EvaRegs.CMPR2 = 32763;
EvaRegs.ACTR.all = 0x0666;
EvaRegs.DBTCONA.all = 0;
EvaRegs.COMCONA.all = 0xA6E0;

EvaRegs.T1CNT = 0;                //通用时钟1计数值置为0
EvaRegs.T1CON.all = 0X1742;
//时钟1控制,采用连续递增方式,预定标为128,内部时钟,使能比较,使用自己的周期值
EvaRegs.T1CON.bit.TENABLE = 0; //先关时钟,在后面再开
EvaRegs.T1CON.bit.TCLD10 = 1;

相关帖子

沙发
bl20020825|  楼主 | 2007-7-22 15:18 | 只看该作者

问题描述改正,请大侠出招啊!

我用f2812的比较单元实现pwm输出有问题,我的对寄存器初始化代码如下面所示,这里我采用比较单元输出pwm波的同时,也采用了通用定时器1的比较输出,在运行程序时,通用定时器的比较输出是正常的,但是用比较单元pwm输出引脚没现象!郁闷,请高手指点,是不是哪里设置有问题???

EALLOW;
GpioMuxRegs.GPAMUX.all = 0x0ff;//使能通用时钟1比较输出引脚
EDIS;

EvaRegs.GPTCONA.bit.TCOMPOE = 1;
EvaRegs.GPTCONA.bit.T1PIN = 1;
EvaRegs.T1PR = 32763;//时钟1的周期值为T1PR + 1
EvaRegs.T1CMPR = 10000; //比较值设置

//比较单元寄存器初始化
EvaRegs.CMPR1 = 32763;
EvaRegs.CMPR2 = 32763;
EvaRegs.CMPR2 = 32763;
EvaRegs.ACTR.all = 0x0666;
EvaRegs.DBTCONA.all = 0;
EvaRegs.COMCONA.all = 0xA6E0;

EvaRegs.T1CNT = 0;                //通用时钟1计数值置为0
EvaRegs.T1CON.all = 0X1742;
//时钟1控制,采用连续递增方式,预定标为128,内部时钟,使能比较,使用自己的周期值
EvaRegs.T1CON.bit.TENABLE = 0; //先关时钟,在后面再开
EvaRegs.T1CON.bit.TCLD10 = 1;

使用特权

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

本版积分规则

30

主题

57

帖子

1

粉丝