TODOPIC
Microcontroladores PIC => dsPIC => Mensaje iniciado por: kýrios en 28 de Agosto de 2012, 05:07:08
-
Buenas a todos!
Estoy tratando de encontrar la expresión para averiguar que valor le cargo al Timer4 de mi dsPIC33E, pero no lo encuentro por ningún lado... Ni siquiera en la info de Microchip. El timer es de 16bits, y quiero que cada 10ms se desborde... pero no soy capaz de averiguar el valor a cargar.
Cualquier ayuda que me podais dar, os la agradeceré eternamente.
Saludos,
Kyrios
-
con cargar a que te refieres? los dspic no van igual que los pic18, 16...
tienes 2 registros TMR4 es el contador y PR4 es el desborde, cada vez que TMR4 es igual que PR4 se produce una interrupcion, el TMR4 pasa a ser 0 y vuelta a empezar.
-
MerLiNz: Y cuando se deborda, el valor de PR4 se conserva, verdad? Es decir, no tengo que volver a dárselo cada vez que se desborda, no?
Con carga rme refiería a que valor dar al TMR4. Pero, como dices, el dsPIC y los pic18,16,etc no son iguales, asiq nada... Con esto que me dices del PR4, ya lo tengo solucionado! Muchas gracias por tu ayuda!
Saludos,
Kyrios
-
Otra ayudita, formula para cargar el micro:
#define MIPS 10.0
#define PRESCALER 1
#define TIEMPO 1000 (1ms)
PRx = MIPS / PRESCALER * TIEMPO(us)
Esta formula tambien aplica para timer en modo 32bits.
Tener en cuenta que el tiempo que cargues no sobrepase el valor en 16 bits y que cuando hagas modificacion del PRx resetees el contador o lo pongas unos 100 ticks antes de que desborde para que no te genere pulsos erroneos, es decir que el tiempo no demore demasiado.
saludos.
edito: en la formula se divide el prescaler, ya lo modifique.
-
Si, el PR4 siempre se mantiene a no ser que resetees el pic o lo cambies tu mismo, es una gran ventaja asi no tienes que cargar el valor en cada desborde.
-
Genial, muchas gracias a los dos! Ya lo entendí, lo probé y me funcionó, asiq mil gracias!! :)
Saludos,
Kýrios