• Jueves 2 de Mayo de 2024, 23:07

Autor Tema:  Timer 1 en Sleep Mode ; Comandos AT desde PIC  (Leído 3471 veces)

dobler41

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Timer 1 en Sleep Mode ; Comandos AT desde PIC
« en: Martes 12 de Agosto de 2008, 16:58 »
0
Hola Compañeros, soy nuevo en el Foro. Estoy realizando el proyecto final de carrera y tengo un par de dudas que mi director de proyecto no me puede responder (esta de vacaciones y no mira el correo).

Os explico:

Estoy utilizando el PIC 18F4550, y en mi aplicación lo tengo conectado a un dispositivo ZigBee. En primer lugar tengo que configurar el ZB desde el pic, y esto se hace mediante comandos AT. Desde el hyperterminal de Windows si que se como hacerlo, pero desde el codigo del micro (lo estoy haciendo en C) no estoy seguro de haberlo hecho bien.

Yo lo que he hecho es crearme un vector de 4 posiciones (porque tengo que enviar 4 comandos en total). En primer lugar lo que hago es colocar en el resgistro TXREG '+++' (escribiendo "+++" desde el hyperterminal se entra al modo comandos AT) y me quedo esperando a que el ZB responda 'OK' (en el hyperterminal si que aparece el "OK")
Una vez recibo el "OK" le envio el primer comando: 'ATDL 00' y espero nuevamente al 'OK', asi con todos los comandos que tengo que enviarle al ZB.

Una vez el ZB ya esta configurado y ya funciona el programa, el PIC debe dormirse durante aproximadamente 10 minutos, y luego despertarse.
Para dormir al micro utilizo el comando asm SLEEP. Ahora mi duda viene con respecto al oscilador que se queda funcionando. Tengo entendido que el TIMER1 es el unico que puede funcionar con el Sleep Mode, pero...para que esto ocurra hay que configurar el resgistro OSCCON? o solo con el TICON es suficiente? o con algun otro?

Y otra cosa...como contabilizo los 10 minutos? Con el timer 1 mientras este hace de reloj principal? Simplemente hay que cargarle los valores al TMR1H y al TMR1L y esperar a la interrupcion?

Y ya por último, cuando pasen los 10 minutos y se despierte el micro por interrupcion, él solo retorna a su reloj principal? (en mi caso un cristal de 4MHz o hay que configurar algun registro para que no siga funcionando con el de 32KHz del Timer1?)

Mil gracias a todos los que me podais ayudar!!

Un saludo!!

allisap

  • Miembro MUY activo
  • ***
  • Mensajes: 259
  • Nacionalidad: mx
    • Ver Perfil
Re: Timer 1 en Sleep Mode ; Comandos AT desde PIC
« Respuesta #1 en: Martes 12 de Agosto de 2008, 22:32 »
0
tengo una pregunta ....

porque  necesitas que se duerma durante 10 minutos... seria mas facil hacer una rutina que funciones como retardo de .. 1 segundo digamos... y un contador que se incremente cada que termina esta rutina, hasta llegar a 60 segundos, lo reinicias en cero e incrementes un cotador de minutos y asi hasta contar los 10 minutos que necesitas.....
no se puede hacer unicamente con los timers debido a que para un micro que esta corriendo a varios Megahertz 10 minutos son como siglos para nosotros


Victor Pasilla
Puebla, Mexico

dobler41

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Timer 1 en Sleep Mode ; Comandos AT desde PIC
« Respuesta #2 en: Miércoles 13 de Agosto de 2008, 15:58 »
0
Hago eso que tu dices, esta claro que no voy a hacer una temporización de 10 minutos con un PIC  :lol:   hago temporizaciones de 1 minuto (que con el TIMER1 funcionando a 32KHz si que puedo) y las hago 10 veces.

Lo que necesito saber es todo lo otro:P

Muchas gracias de todas maneras!

Pegasux

  • Miembro MUY activo
  • ***
  • Mensajes: 130
    • Ver Perfil
Re: Timer 1 en Sleep Mode ; Comandos AT desde PIC
« Respuesta #3 en: Martes 16 de Septiembre de 2008, 22:06 »
0
Hola. Yo estoy empenzando mi proyecto basado en dispositivos zigbee y no tengo ni idea de por donde empezar, la documentacion que encuentro es siempre la misma, es como si todo el mundo colgase el mismo documento. ¿Puedes echarme un cable?

Muchas gracias!!