hola a todos, estoy intentando generar una señal cuadrada de aprox. 1Khz aprovechando el timer0 por uno de los puertos del pic. En ensamblador me sale sin problemas, pero estoy empezando ahora a programar en c y no se si no conecto bien el timer0 para generar la señal o hay otro problema. Lo q hago es que el timer0 se desborde cada 500us aprox y entonces testear si el bit del puerto estaba a 0 o a 1 y cambiar su estado. Pongo el codigo a ver si encontrais algun fallo
#include "D:programas cpantallabuena.h"
#use delay(clock=4000000)
void main()
{
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_psp(PSP_DISABLED);
setup_spi(FALSE);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
set_tris_c(0xff); /*configuro el puerto c como salida*/
setup_counters(RTCC_INTERNAL,RTCC_DIV_2|RTCC_8_BIT);
set_rtcc(6); /*cargo el tmr0 a este valor*/
ENABLE_INTERRUPTS(INT_RTCC);
ENABLE_INTERRUPTS(GLOBAL);
output_low(pin_c3); /*pongo el puerto de salida a 0 inicialmente*/
}
#int_rtcc /*funcion que atiende la interrupcion del timer0
interrupcion_timer0()
{
if(pin_c3==1)
{
output_low(pin_c3);
}
else
{
output_high(pin_c3);
}
set_rtcc(6); /*vuelvo a cargar el tmr0*/
}