Hola a todos, estoy usando un PIC 18F4550. Programo en C usando CCS.
Uso un cristal externo de 20Mhz, pero mi sistema funciona a 48Mhz (mediante trasformaciones PLL)
He estado buscando información el foro sobre el tema de los timers, pero no me queda claro.
Necesito una interrupción cada 10ms (milisegundos) y he visto que se usa esta fórmula:
(256-TMR0) = Temporización / (ciclo de instrucción * Divisor de frecuencia)
Necesito usar el timer0, solo necesito que se interrumpa cada 10ms, pero no entiendo que valores debo meter para cargar ese tiempo.
No se que valor de prescaler poner ni de ciclo de instrucción (¿20 Mhz o 4Mhz?), no se si servirá de algo, pero tengo usando estos fuses, no se si alguno indica el prescaler que se está usando:
#FUSES LPT1OSC //Timer1 configured for low-power operation
#FUSES NOXINST //Extended set extension and Indexed Addressing mode disabled (Legacy mode)
#FUSES PLL5 //Divide By 5(20MHz oscillator input)
#FUSES CPUDIV1 //No System Clock Postscaler
#FUSES USBDIV //USB clock source comes from PLL divide by 2
¿Que valor le tengo que cargar? o como lo calculo realmente?
Segun el datasheet el prescaler (¿divisor de frecuencia?) máximo de mi PIC es 256 y usando ese valor, si hago las cosas bien, me sale un número negativo ¿alguien puede ayudarme?
Muchas gracias!