Autor Tema: PIC18 TIMER0  (Leído 7840 veces)

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

Desconectado superprp

  • PIC16
  • ***
  • Mensajes: 137
Re: PIC18 TIMER0
« Respuesta #15 en: 31 de Enero de 2008, 09:14:22 »
he de pensar pues que mi problema puede que sea de configuración, me podeis indicar todos los bits que he de configurar para que con el timer0 me salte el bit TMR0IF ?? porque si no no se a que puede ser debido...

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: PIC18 TIMER0
« Respuesta #16 en: 31 de Enero de 2008, 09:40:01 »
he de pensar pues que mi problema puede que sea de configuración, me podeis indicar todos los bits que he de configurar para que con el timer0 me salte el bit TMR0IF ?? porque si no no se a que puede ser debido...

Elige un pic y sube el código que hayas hecho (en un .zip o con el marco [ code ] [ / code ] si el timer está andando el flag debe encender si o sí.
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado PerriPic

  • PIC10
  • *
  • Mensajes: 24
Re: PIC18 TIMER0
« Respuesta #17 en: 01 de Febrero de 2008, 10:08:32 »
Utilizo el 18F2550 y s la primera vez q utilizo el trimer1 y el sleep. He leido todo lo q he visto en el data sheet y el timer1 creo q lo he configurado bien, aunq tendré q hacer los calculos mejor para q me funione como kiero.En cuanto al sleep el problema es q no sé como funciona.Como x ejemplo no sé si hay q hacer algo primero antes de utilizarlo, xq yo creía q con la interrupcion se despertaría, pero al tener q leer el timer1 para q cuente a 16 bits...No sé, seguiré investigando!!!Y gracias x el ofrecimiento para ayudarme, q nunca está de más!!!

Para superprp, decir q yo lo único q e puesto ha sido las habilitaciones de interrupciones general y de perifericos, con los bits GIE y PEIE.Prueba a hacerlo si s q no lo habias exo ya!!!

Desconectado superprp

  • PIC16
  • ***
  • Mensajes: 137
Re: PIC18 TIMER0
« Respuesta #18 en: 01 de Febrero de 2008, 11:38:51 »
Ya he solucionado el problema!!!! lo que me pasaba es que le metía un valor al timer0, me desbordaba la primera vez pero luego seguía contando el timer sin volver a inicializarlo, y se tenía que recorrer los 16 bits  con el prescaler de 256 enteritos, y no me contaba el medio segundo que kería, vamos, que me faltaba reinicializar el timer cada vez que detectaba el TMR0IF

Lo de que no me aumentaba el TMR0H era porque en watch veía el TMR0, y ahí no se actualiza si no realizas una lectura de TMR0L, pero hay otro registro el TMR0_internal que ese si que se ve como aumenta el TMR0, asi que muchas gracias por vuestra ayuda y problema solucionado

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: PIC18 TIMER0
« Respuesta #19 en: 01 de Febrero de 2008, 13:34:28 »
Utilizo el 18F2550 y s la primera vez q utilizo el trimer1 y el sleep. He leido todo lo q he visto en el data sheet y el timer1 creo q lo he configurado bien, aunq tendré q hacer los calculos mejor para q me funione como kiero.En cuanto al sleep el problema es q no sé como funciona.Como x ejemplo no sé si hay q hacer algo primero antes de utilizarlo, xq yo creía q con la interrupcion se despertaría, pero al tener q leer el timer1 para q cuente a 16 bits...No sé, seguiré investigando!!!Y gracias x el ofrecimiento para ayudarme, q nunca está de más!!!

Para superprp, decir q yo lo único q e puesto ha sido las habilitaciones de interrupciones general y de perifericos, con los bits GIE y PEIE.Prueba a hacerlo si s q no lo habias exo ya!!!

perripic, como te he mencionado no he usado el sleep pero te puedo comentar que si no te funciona es casi seguro que es porque algo lo está despertando.

fijate enel datasheet y te comentará qué eventos lo despiertan.  será tu tarea deshabilitar los que no quieres que lo hagan y habilitar los que quieres que sí lo hagan, previo a ejecutar la instrucción sleep.

- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: PIC18 TIMER0
« Respuesta #20 en: 01 de Febrero de 2008, 13:36:07 »
Ya he solucionado el problema!!!! lo que me pasaba es que le metía un valor al timer0, me desbordaba la primera vez pero luego seguía contando el timer sin volver a inicializarlo, y se tenía que recorrer los 16 bits  con el prescaler de 256 enteritos, y no me contaba el medio segundo que kería, vamos, que me faltaba reinicializar el timer cada vez que detectaba el TMR0IF

Lo de que no me aumentaba el TMR0H era porque en watch veía el TMR0, y ahí no se actualiza si no realizas una lectura de TMR0L, pero hay otro registro el TMR0_internal que ese si que se ve como aumenta el TMR0, asi que muchas gracias por vuestra ayuda y problema solucionado

superprp algo que quiero aclarar por si no quedó claro.  El tmr0h SIEMPRE se incrementa , lo que puede ocurrir es que no lo veas, para verlo debes hacer el read pero internamente siempre se incrementa.

Lo quiero aclarar por si no se entendió mi explicación anterior.  Leer el TMR0L para ver como se actualiza el TMR0h es un "truquito" para verlo en el simulador pero siempre se anda incrementando.
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)


 

anything