Soy algo nuevo en estos temas de los microcontraldores y me surgio un problema en el momento de generar un frecuencia de 38kHz con el PIC18F4550 ya que por la aplicacion en la que se esta usando no se puede utilizar PWM ya que estos pines estan ocupados para unos motores, mas sin embargo ocupo generar esta frecuencia para utilizar un sensor, A la hora de probar el siguiente codigo la frecuencia generada es de 15 Khz. Segun los calculos estoy correctamente la frecuencia pero no.. No se si se deba a algun fuse o tenga que ver con algun calculo :S
Este es el codigo:
#include <18f4550.h>
#fuses HSPLL,PLL5,CPUDIV1,NOWDT,NOPROTECT,NOLVP,PUT,BROWNOUT
#use fast_io(E)
#use delay(clock=48M)
#int_rtcc
void isr(void)
{
output_toggle(PIN_E0);
}
void main()
{
enable_interrupts(int_rtcc);
enable_interrupts(GLOBAL);
setup_timer_0(RTCC_DIV_4|78); //frecuencia de 38kHz
SET_TRIS_E( 0x02 );
while (TRUE)
{
if (INPUT(PIN_E1) == 0)
OUTPUT_HIGH(PIN_E2);
}
}
Cualquier ayuda sirve de mucho!
Gracias !
Este es el codigo:
#include <18f4550.h>
#fuses HSPLL,PLL5,CPUDIV1,NOWDT,NOPROTECT,NOLVP,PUT,BROWNOUT
#use fast_io(E)
#use delay(clock=48M)
#int_rtcc
void isr(void)
{
output_toggle(PIN_E0);
}
void main()
{
enable_interrupts(int_rtcc);
enable_interrupts(GLOBAL);
setup_timer_0(RTCC_DIV_4|78); //frecuencia de 38kHz
SET_TRIS_E( 0x02 );
while (TRUE)
{
if (INPUT(PIN_E1) == 0)
OUTPUT_HIGH(PIN_E2);
}
}
Cualquier ayuda sirve de mucho!
Gracias !