Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: naieto en 23 de Junio de 2006, 01:07:26
Título: ayudita con conversion a/d
Publicado por: naieto en 23 de Junio de 2006, 01:07:26
HOla Gente, estoy haciendo mi primer conversion a/d con un lm35d y mostrando en un display de nokia, pero cuando compilo me tira un error cuando lee el nokia_lcd.h que dice: undefined identifier-delay_us() El programa SEGURO TIENE MUCHOS ERRORES DODAVIA pero ese no me lo esperaba y no se a que se debe. Alquien sabe a que se debe ESE error?!?! Gracias!!!!!
Título: Re: ayudita con conversion a/d
Publicado por: Nocturno en 23 de Junio de 2006, 02:05:43
Ese mensaje se debe a que la librería de Nokia que estás usando utiliza una función llamada delay_us() que tu compilador no reconoce, ni está definida en ninguna parte de tu programa. Esa función viene "de serie" en el CCS, ¿cuál es tu compilador?
Título: Re: ayudita con conversion a/d
Publicado por: vszener en 23 de Junio de 2006, 08:58:38
Haber, tu error esta aqui:
Código: C
#include <18F252.h>
#Include <nokia_lcd.c>
#device adc=8
#fuses XT,NOWDT,NOPROTECT,PUT,NOBROWNOUT,nolvp
[b]#use delay(clock=4000000)[/b] ///AQUI ESTA EL ERROR
En la compilacion debes seguir un orden sino el compilador se volvera loco o lo mas probable, te de errores cuando quizas todo este bien, la funcion delay_xx() se encuentra definida en la libreria
Código: C
#use delay(clock=xx)
En tu codigo, la libreria de la pantalla de nokia esta antes que la libreria de tiempos, por lo tanto por eso te dice que no esta definida la funcion delay_us, lo que tienes que hacer es ordenar el codigo y poner antes la funcion de tiempos:
Código: C
#include <18F252.h>
#device adc=8
#fuses XT,NOWDT,NOPROTECT,PUT,NOBROWNOUT,nolvp
#use delay(clock=4000000)
#Include <nokia_lcd.c>
Compila asi y haber que tal...
Suerte!!! :wink:
Título: Re: ayudita con conversion a/d
Publicado por: naieto en 23 de Junio de 2006, 09:57:03
Muchas gracias a nocturno y vszener. El compilador que uso es el ccs, nocturno. Efectivamente el error estaba en el orden entre #Include <nokia_lcd.c> y #use delay(clock=4000000). Bueno de seguro es pregunta no la hago mas jejeje, ya entendi la explicacion de vszener. Igualmente seguro que tenga mas preguntas respecto a la conversion que estoy haciendo. Donde se supone que hago esas preguntas, en este mismo post o en uno nuevo?
Ese mensaje se debe a que la librería de Nokia que estás usando utiliza una función llamada delay_us() que tu compilador no reconoce, ni está definida en ninguna parte de tu programa.
Título: Re: ayudita con conversion a/d
Publicado por: vszener en 23 de Junio de 2006, 15:00:37
Me alegro que lo hayas solucionado!!! con respecto a las preguntas, si van a corde a la conversion del a/d puedes realizarlas aqui mismo ya que el titulo va bastante acorde a ello, en caso de creer que la pregunta es de algo especifico pues crea otro tema y ya esta
Suerte!!! :wink:
Título: Re: ayudita con conversion a/d
Publicado por: naieto en 24 de Junio de 2006, 12:37:13
Bien, ahora tengo otra duda. El pic que utilizo (18f252) tiene dos referencias, una Vref- y una Vref+. Y mi LM35D mide de 0 a 100 grados C. Lo que hice fue poner Vref+ a 2,56 Volts que junto con la resolucion de 8 bits que utilizo, me incrementa de a 1 grado de 0 a 100 en el display. Ahora mi pregunta es que hago con el Vref-? lo tengo que definir en setup_adc_ports()?, lo conecto a tierra? si no lo defino queda automaticamente conectado a tierra?, da igual?