Hola, estoy tratando de mejorar este ejercicio pwm por software y no consigo otra manera, que se puede mejorar para que no me de una advertencia el compilador?
[/ICODE][/CODE]
C:
[CODE]#include <16f883.h>
#use delay(internal = 4MHz)
//#use pwm(output=pin_c0, timer=1, frequency=1kHz, duty=30)
int i;
#int_timer0
void pwm_duty(int pwm0)
{
int cont;
if(cont>16)
cont=0;
else
cont++;
if(cont>0&&cont<pwm0)
output_high(PIN_C0);
else
output_low(PIN_C0);
}
void main()
{
setup_adc(ADC_CLOCK_INTERNAL);
setup_adc_ports(ALL_ANALOG);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
set_timer0(0);
enable_interrupts(INT_TIMER0);
enable_interrupts(GLOBAL);
setup_ccp1(CCP_PWM);
setup_timer_2(T2_DIV_BY_4,249,1); // 1000 Hz. @ 4 MHz.
while (true)
{
for(i=0;i<16;i++){
pwm_duty(i);
delay_ms(100);
}
for(i=16;i>0;i--){
pwm_duty(i);
delay_ms(100);
}
}
}