请问有用pic做过spwm或epwm的么?<br /> 我看到下面这个占空比固定的pwm程序,里面禁止了总中断和外围中断,没有用到TMR2中断,没有任何关于TMR2IF的操作,觉得很奇怪阿,看了数据手册(16f886)我自己觉得应该要用到TMR2中断。<br /> 我试了一下开中断进行ad采样,结果pwm就没有输出了。<br /> 请教:1.pwm是否需要TMR2中断<br /> 2.在产生pwm的同时可否进行ad中断<br /> <br />void CCP1INIT(void)<br />{<br /> CCPR1L=0X7F;<br /> CCP1CON=0X3C; /*设置CCP1模块为PWM工作方式,且其工作 /*循环的低2位为11,高8位为01111111=7F*/<br /> INTCON=0X00; /*禁止总中断和外围中断*/<br /> PR2=0XFF; /*设置PWM的工作周期*/<br /> TRISC=0XFB; /*设置CCP1引脚为输出方式*/<br />}<br /><br />/*主程序*/<br />void main(void)<br />{<br /> CCP1INIT(); /*CCP1模块的PWM工作方式初始化*/<br /> T2CON=0X04; /*打开TMR2,且使其前分频为1,<br /> /*同时开始输出PWM波形*/<br /> do<br /> {<br /> ;<br /> }while(1); /*系统开始输出PWM波形。如果系统是<br /> /*多任务的,则可以在此执行其它任务,而<br /> /*不会影响PWM波形的产生*/<br />} |
|