下面的代码能开启PWM吗?我试了好像不行
void initPWM()
{
INTCON = 0x00; //关闭总中断和外部中断
TRISA=0xFF; //ADD BY CHEN
PR2 = 0xff; //写入PR2寄存器设置PWM周期,PWM周期=[(PR2)+1]*4*TOSC*(TMR2预分频比)
CCP1CON = 0x3C; //设置PWM占空比低2位为11,设置为PWM模式
CCPR1L = 0x00; //设置PWM占空比高8位
// TRISC = 0xfb; //设置CCP1口为输出
// T2CON = 0x02; //设置TMR2预分频为16;
T2CON = 0x06; //ADD BY CHEN 设置TMR2预分频为16并且打开TIMER2;
TRISA=0; //ADD BY CHEN
}
是否PWM功能要开中断?
此帖出自
小平头技术问答
我在这个帖子里说了的:
http://bbs.eeworld.com.cn/forum. ... 1&page=1#pid2104066
重点是:
这种输出频率不是采用PWM输出的,而是用数控振荡器或调节芯片的振荡频率来完成的.
当然,如果有PWM模块,应该设置其为合适的输出频率(例如2MHz)的方波输出,通过调节芯片的主振荡频率来完成从1.5~2.5MHz调节的.
一周热门 更多>