Autor Tema: Duda: Cargar un valor en el Timer 4 de un dsPIC33E  (Leído 3207 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado kýrios

  • PIC10
  • *
  • Mensajes: 6
Duda: Cargar un valor en el Timer 4 de un dsPIC33E
« 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

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Duda: Cargar un valor en el Timer 4 de un dsPIC33E
« Respuesta #1 en: 28 de Agosto de 2012, 10:00:40 »
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.

Desconectado kýrios

  • PIC10
  • *
  • Mensajes: 6
Re: Duda: Cargar un valor en el Timer 4 de un dsPIC33E
« Respuesta #2 en: 28 de Agosto de 2012, 10:12:58 »
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

Desconectado KALLITOS

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1256
Re: Duda: Cargar un valor en el Timer 4 de un dsPIC33E
« Respuesta #3 en: 28 de Agosto de 2012, 10:24:29 »
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.
« Última modificación: 29 de Agosto de 2012, 11:47:09 por KALLITOS »
A un microcontrolador hay que sacarle hasta el ultimo byte....(YO)

Cómo puede ser que un pic24EP512 me quede corto de memoria, señores de MICROCHIP saquen pics con más memoria flash

Más de 45 mil lineas de codigo y aun no termino el equipo, asu mare!!

S34ML08G1TFI200 no necesito mas memoria externa.

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Duda: Cargar un valor en el Timer 4 de un dsPIC33E
« Respuesta #4 en: 28 de Agosto de 2012, 14:38:52 »
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.

Desconectado kýrios

  • PIC10
  • *
  • Mensajes: 6
Re: Duda: Cargar un valor en el Timer 4 de un dsPIC33E
« Respuesta #5 en: 29 de Agosto de 2012, 04:51:15 »
Genial, muchas gracias a los dos! Ya lo entendí, lo probé y me funcionó, asiq mil gracias!!  :)

Saludos,

Kýrios