TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: electronando en 27 de Julio de 2006, 00:08:11
-
la verdad esta sucediendo algo rarisimo no se si sera el compilador o la forma de trabajar con lops lcd en el pic basic pro
estoy haciendo una rutinita de prueba para el pic y un lcd de 4*16 lineas hago el codigo y al comienzo pondo define osc 20 para ser usado con un xtal de 20 pero nada me muestar cualquier cosa no salen los mensajes que programe para el lcd que hasta en el proteus salen de maravillas , pero se arregla por completo cuando le coloco un xtal de 4 meg ,eso q esta configurado para 20 por define hasta a la hora de qemarlo le configuro hs q es para este cristal y nada , el pic con el que estaba probando era primero un pic 16f84-20(q soporta hasta 20 meg)y un pic 16f628-i/p(tb q soporta 20 meg) que puede estar pasando algo me estare equivocando o olvidaddo? :shock:
-
Hola:
Pues no se ve que hagas nada raro, y la fracuencia que soporta el pic tambien va bien, si funciona con el de 4mhz, quiere decir que el programa esta bien, por lo que queda descartado, algun problema tienes con el pic, debe ser que no soporte esa frecuencia, no queda de otra, ese es mi criterio :mrgreen:
-
Un pequeño detalle comprobado por mí personalmente: Con un cristal de 20 Mhz, el mismo programa funciona a las mil maravillas en un 16F628A y no funciona, de hecho no hace nada de nada, en un 16F628. :P
-
Hola:
Asi es, me a pasado algo similar, no se a que se debe esos casos :shock:
-
Hola.
A mi me sucedió algo similar:
Trabajar a 20 megas con un 18F448 se deseaba.
A 4 trabajaba pero a mas ya no lo hacía.
Pregunté a los profesores y muchos dieron teorías que uno debía estar fumando hierva para comprenderlas (que las capacitancias parásitas, que la cercanía con radiofrecuencias, que la alineación de Jupiter con Neptuno).
La única que creo pudiera ser es la hipótesis que el µicro esté dañado para altas frecuencias (esa es la hipótesis que mas creí). Porque cambié de µicro (mismo número) y si funcionaba. Empezé por 4, pero con 8,10--->20 no jaló.
Asi que ese pudiera ser el caso.
-
Hola amigos:
Fijensen en las hojas de caracteristicas de los pics que todos los modelos que terminan con la letra A soportan el doble de frecuencia de aquellos que no los tienen, como sucede con el 16F84 *10 Mhz* y el 16F84A *20 Mhz*.
Saludos
-
Hola...
Una gran tontería la que voy a decir.... Probaste a ponerlo en mayúsculas ?.
DEFINE OSC 20
Un saludo
-
Hola:
Eso no influye, no importa las mayusculas o minusculas, almenos en mi version de microcode ponniendo en minuscilas define, al termino de la palabra las ppone en mayusculas y negritas ya que es una palabra reservada.
-
Que tal???
Bajense los datasheet del 16F84 y 16f84A y veran que la diferencia mas notoria es que este ultimo es de 20 Mhz a diferencia del primero que es solo te 10 mhz de frecuencia maxima, lo mismo pasa con los demas modelos a los que se agrega la letra "A" al codigo. Si queres hacer funcionar por ejemplo el 16F84 a 20 Mhz no va a responder.
Saludos :-)
-
Hola:
Eso no influye, no importa las mayusculas o minusculas, almenos en mi version de microcode ponniendo en minuscilas define, al termino de la palabra las ppone en mayusculas y negritas ya que es una palabra reservada.
:shock: que me dices!!!
El mio no. No sé porque, pero si lo pones en minusculas se queda igual. Solo pasa con el DEFINE OSC, y lo curioso es que al compilarlo en minúsculas.. es como si no lo pusiera y por defecto se queda en los 4 Mhz.
Mi versión es la última.
Un saludo.
-
Hola:
Pues asi como te dije, las palabras reservadas se me ponen en negritas y en mayusculas, tengo PBP 2.46 y la version de MCSP es la 2.2.1.1
-
no creo q este problema este pasando a los que usan el asembler , pues como alli de antemano calculas los tiempos por el cristal la verdad no lo se no e probnado un programa en basic y luego en asm , les comento pues e oido comentarios q hasta hacen funcionar un micro de 16f877a-4 con cristal de 20 claro esta usanbdo el asm no se si sera algun problema del pbp o si habria que incurrir en el codigo del pbp para configurarlo usando rutinas de asm
-
Pues yo digo que los µicros no sirven, esa sería la hipótesis mas viable con lo que ha descrito electronando.
¿Ya probaste con otros µicros aparte de esos dos?
Si es ensamblador o no es ensamblador no creo que sea el problema, porque no importa el lenguaje: si no defines un cristal en programa, lo haces en la programación (como lo de HS que mencionabas).
Sin duda alguna esto es como lo que me pasaba a mi: http://www.todopic.com.ar/foros/index.php?topic=3631.msg30228#msg30228
Hay cosas muuuuuuuuuuuuuuuuy extrañas que no se sabe cómo explicarlas y es mejor no quebrarse la cabeza.
De todas maneras es interesante saber por si le pasa a otros.
-
Pues me uno al grupo que no puede trabajr con el PBP colocando la instruccion define osc 20, y no, no es problema del microcontrolador, porque casualmenteyo desarrolle una aplicacion en ensamblador (Un control de angulo de disparo monofasico), con un cristal de 20Mhz y me funciona de mil maravillas, pero cuando lo migre a PBP e intente que trabajar con el cristal a 20Mhz, si funciono pero los tiempos eran totalmente torpes y aunque paresca ilogico le coloque un cristal de cuando le quite la instruccion y le mande a trabajar a 4Mhz funciono perfectamente, confundio volvi a cargar el primer programa hecho en ensamblador que funcionaba a 20Mhz y trabajaba perfectamente por lo que yo digo que es un problema del compilador.
PBP parece tener un problemilla con eso e inclusive an intentado trabajar con un cristal de 6Mhz?
Les da muchos errores creanme, supongo que simplente no soporta esa velocidad, pero bueno esa es mi opinion y experiencia espero que les sirva
Saludos :mrgreen:
-
Hola estimados amigos:
El manual PBP el que esta en ingles dice expresamente que DEFINE OSC 20 debe ser puesto si o si en mayusculas para la ultima version sino hace de cuenta que no pusiste nada.
Saludos
Cristian
-
Eso es interesante, dos personas con lo mismo, ya no se puede considerar error de µicros o de monos.
A mi me ha funcionado bien a 20 MHz los 18FXXX, no he usado 16FXXX a 20 MHz; la única vez fue la que describí anteriormente que no funcionaba el µicro a 20 MHz (fuera ensamblador o PBP).
Deberé retomar esto con los µicros y ver cuáles son los requerimientos para aplicar un programa a 20 MHz con PBP. Pasará un tiempo porque los µicros que tienen el Bootloader de Micro Code Studio ya se corrompieron y mi programador lo tiene una persona que no está por aquí (debo encontrarlo).
Bueno, tema interesante sin duda alguna.
-
Aqui los dejo una copia de lo que dice el manual de acuerdo a lo que decia el post anterior
4.16. DEFINE
Some elements, like the clock oscillator frequency and the LCD pin
locations, are predefined in PBP. DEFINE allows a PBP program to
change these definitions, if desired.
DEFINE may be used to change the predefined oscillator value, the
DEBUG pins and baud rate and the LCD pin locations, among other
things.
These definitions must be in all upper case, exactly as shown. If not, the
compiler may not recognize them. No error message will be produced for
DEFINEs the compiler does not recognize.See the appropriate sections of the manual for specific information on
these definitions. A complete list of DEFINEs is shown in Appendix B.
DEFINE OSC 4 ‘ Oscillator speed in
MHz: 3(3.58) 4 8 10 12
16 20 24 25 32 33 40
Si no me falla el ingles dice que debe ser escrito en mayuscula, si no el comilador no lo reconoce y ni siquiera produce errores ni advertencias.
Espero poder haber aclarado algo el panorama.
En realidad el compilador pone en mayuscula la palabra reservada DEFINE pero no *osc 20* esta es la que el compilador no pone en mayuscula y si la dejas en minuscula no te la toma y tampoco te avisa del error.
Saludos
Cristian
-
Pues en eso no hay duda, pero Lord lo que decia, es que no importa si lo pones en minusculas ya que el mismo editor te realiza esta correccion al escribir(te pasa todo el define osc a DEFINE OSC solito), si tu no usaras como editor el microcodestudio talvez pudiera ser una razon pero
-
Pues en eso no hay duda, pero Lord lo que decia, es que no importa si lo pones en minusculas ya que el mismo editor te realiza esta correccion al escribir(te pasa todo el define osc a DEFINE OSC solito), si tu no usaras como editor el microcodestudio talvez pudiera ser una razon pero
Pues como dije en mi anterior Post. A mi no me lo hace. En minúsculas ni se entera !.
-
hola lo comprobe vade maravillas con lasentencia
DEFINE OSC 20
NO HAY PROBLEMAS ASI
LO PROVE CON 16F84A-20 Y EL16F628A-I/P
EN UN LCD DE 2X20
FUNCIONA