|
/*Это инициализация*/
.
.
T2CON=0;
PR2=0xFF;
CCP1CON=0x0C;
CCPR1L=0;
CCP2CON=0x0C;
CCPR2L=0;
TMR2ON=1;
TMR2IE=1;
.
.
/*Эта подпрограммка по ходу периодически вызывается*/
void pwm_val(unsigned char line, unsigned int val){
if(line){
CCPR2L=(char)(val>>2);
CCP2CON=((char)(val<<4)&0x30) | 0x0C;
}
else{
CCPR1L=(char)(val>>2);
CCP1CON=((char)(val<<4) & 0x30) | 0x0C;
}
}
line, естественно, принимает два значения 0 и 1, но вот реальное управление вижу только на выходе ССР1, по другому 0