TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: mpak en 11 de Abril de 2008, 04:53:19
-
Hola.
Hace un par de años aproximadamente he montado un robot por fasciculos llamado Path Finder en el cual hay un apartado de programacion con
PICBASIC, (cuando empece llame para ver que nivel habia que tener para poder manejar lo de programar, me dijeron que no era necesario para
este robot por que era muy basico). No tengo estudios de programacion ni de electronica aunque me apasiona.
He leido manuales cursos y no soy capaz de hacer nada y ya me estoy desinflando. Ayer cuando estaba apunto de bajarlo al trastero se me
ocurrio entrar en algun foro y pedir ayuda o consejo y aqui estoy.
Ahi van mis preguntas:
¿Para poder programar hay que saber el lenguaje?, es decir todas las palabras que lleva un programa.
¿Como se sabe la cantidad de espacios que hay que dejar...por ejemplo entre una etiqueta y las especificaciones que se colocan a la
derecha de esta?.
O ¿Esque en el PICBASIC hay alguna opcion en la que se le va diciendo que es lo que tiene que ir escribiendo y donde?
Igual es que hace falta mucho conocimiento o estudios para poder hacer esto (si es asi me rindo por que aunque me gustaria estudiar no
dispongo de mucho tiempo) Segun los que vendian los fasciculos del Path Finder(la persona con la que hable por telefono) no era necesario
tener ningun nivel de programacion por que era muy basico, (Si es asi tengo que ser el tio mas torpe del mundo por que me estoy quedando
ciego de tanto leer y no consigo nada).
Por favor que alguien me ayude.
Muchas gracias de antemano.
Un saludo a todo el foro.
-
Hola:
con programar imagino que te referirás a descargar el hex al microcontrolador, si es así no necesitas entender el programa siempre y cuando esté bien hecho.
Si quieres hacer tu mismo el programa, pues obviamente necesitas saber los comandos y demás funciones de PBP.
Con respecto a lo de las etiquetas, pues puedes dejar un espacio despues de esta, por ejemplo:
inicio: High 0
pause 1000
low 0
pause 1000
goto inicio
si gustas no puedes poner nada y simplemente dejar solo la etiqueta y escribes más abajo los comandos:
inicio:
High 0
pause 1000
low 0
pause 1000
goto inicio
Nosse nada sobre ese robot Path Fainder, pero si pones esquemas o el código que quieres utilizar será más fácil ayudarte.
-
Saludos Mpak! Te felicito por querer echarle ganas a esto de los pics... sandra tiene razón... esta broma es super genial y apasiona...
Bueno todo lo que dicen los compañeros es ciertos, debes tener algunos conocimientos básicos... pero los puedes ir aprendiendo poco a poco...
Y no tienes que saberte todas las instrucciones, en realidad uno usa solo algunas de todas las que te proporciona el compilador... y el manual te dice todo, con muchos ejemplos de incluso cómo debes conectar las cosas para que funcionen bien...
Cuando yo empecé a programar pics lo hice con este lenguaje y me fue de maravilla... ahora ya he migrado a lenguaje c pero los conocimientos que obtuve con basic me ayudaron mucho...
Ok ánimo! a aprender se ha dicho! Y por aquí cuenta con mi ayuda...
No tengo mucho tiempo, pero en lo que pueda meterme y colaborar contigo lo haré.
Te deseo éxito! :mrgreen:
-
Buenos Dias, estimado colega como ya te comentaron lo mejor es subir el esquema o la parte del codigo que no entiendes en basic para ver de que maneja te orientamos lo otrs es como dice el forista FIREPIC este es un mundo genial y lo que si es que se aprende en la marcha y logico con tu dedicacion y empeño, en lo personal trabajar con basic es comodo y amigable.
Cuando yo empecé a programar pics lo hice con este lenguaje y me fue de maravilla... ahora ya he migrado a lenguaje c pero los conocimientos que obtuve con basic me ayudaron mucho...
Colega firepic puedes cometar el porque tu migracion a c yo en la actualidad estoy con basic especificamente pronton pero a simple vista veo que la mayoria de los foristas usan es c hay algo en particular lo diferencia y me das tu opinion sera apreciada.
Saludos y exito.
-
Hola:
Nos estamos saliendo del tema con esto de que si el C o el Basic, no comparto el criterio de Sandra, es verdad que en C se pueden crear funciones, no veo diferencia con una subrutina que se puede crear en basic, seguir el flujo en cualquier lenguaje es simple si conoces las instrucciones básicas y la estructura en si del programa.
Esperemos a ver si hay novedades de mpak con respecto a la duda original de este tema.
-
Hola:
Nos estamos saliendo del tema con esto de que si el C o el Basic,
Tienes razon la idea es ayudar al colega y no desviar el tema principal se puede discutir sobre c y basic en otro post.
saludos y disculpen pero no fue mi intension desviar asi que aql tema del creador de este post
-
hola de nuevo.
En primer lugar quiero disculparme por no haber entrado antes a agradeceros vuestro interes por mi caso.
En segundo lugar reiiterar mi agradecimiento a LordLafebre, sandra, firepic, ASTROCAR y a los que se puedan sumar.
Ya he empezado a empoyar con la documentacion de la coleccion que hice del Path Finder pero ese manual es de LET PicBasicLite y LET PicBasicLite Plus, son demos con lo cual no son completos y hay muchas cosas que no se pueden har por ese motivo.
He visto por ahi que tambien hay otras versiones de PicBasic como: Proton PicBasic, tambien Plus y Pro, Crownhill PicBasic, tambien Plus y Pro.
¿El lenguaje es el mismo en todas las versiones?
Si hubiera diferencias...¿Son importantes?
Si hubiera diferencias...¿Habria que estudiarse el lenguaje de la version que se quiera utilizar o con aprender alguna estrucctura, sentencia, etc., bastaria?
Ah me he comprado un LABORATORIO PIC SCHOOL, con este entrenador una vez que se grabe el PIC, con alimentacion puesta de 9v. e interruptor en posicion RUN a funcionar ¿No?.
Tambien he comprado una PCMCIA con puerto serie por que mi portatil no tiene (tengo un adaptador USB a SERIE pero como es virtual no funciona con algunos programadores, ni con el PIC SCHOOL).
¿Que opinais sobre este entrenador?
¿He hecho buena compra?
Muchisimas gracias de nuevo.
Un saludo.
-
Colega firepic puedes cometar el porque tu migracion a c yo en la actualidad estoy con basic especificamente pronton pero a simple vista veo que la mayoria de los foristas usan es c hay algo en particular lo diferencia y me das tu opinion sera apreciada.
Mi estimado Astrocar, yo usé basic por mucho tiempo y aun no deja de gustarme, el problema se presenta cuando deseas hacer programas más complejos. Apoyo a LordLafebre, en basic puedes estructurar tan bien un programa como en C.
Pero una de las maravillas del C es el punto flotante... Como sabrás, Basic no permite el uso de decimales, sólo enteros. En C puedes usar decimales como te venga en gana.
Por otro lado, el manejo de interrupciones se vuelve bastante sencillo y exacto. Es decir, C te da las ventajas de un lenguaje de alto nivel como basic (facilidad) y la confiabilidad y detalle en el comportamiento del micro del ensamblador (bajo nivel).
Y no sé qué tal será protón, pero en C la gama de instrucciones para lo que quieras es excelente.
Disculpen que me seguí desviando del tema pero era para aclarar dudas... creo que también le servirá al amigo mpak esta información.
-
Ah me he comprado un LABORATORIO PIC SCHOOL
Felicitaciones amigo Mpak! Excelente esa herramienta que compraste. Si es tal como la describen Aquí (http://www.msebilbao.com/tienda/product_info.php?cPath=23_87&products_id=341)... maravillosa tarjeta!!
Allí tienes para que te diviertas un rato...
En cuanto a lo que dices de los lenguajes, fíjate...
Generalmente cuando aprendes un lenguaje de programación puedes programar usando cualquiera de los compiladores que hay en el mercado solo con leer un poco los manuales. Y en cuanto a las diferentes versiones de un mismo compilador, ahí lo único que tienes que hacer es ver qué nuevas instrucciones trae... generalmente lo que uno usa sigue siendo lo mismo, pero puede que no; puede que las mejoras te ayuden a hacer algo más fácil...
Te doy un ejemplo: yo programo en C. Pero hay diferentes compiladores.
Usando CC5X, si yo quiero hacer una pausa en mi programa, tengo que insertar varias líneas de código (una subrutina)... claro, esta siempre será la misma, sólo hay que cambiarle ciertos parámetros para que cuente la cantidad de tiempo deseada. Este ejemplo aparece en la página principal de cc5x:
void delay10( char n)
/*
Delays a multiple of 10 milliseconds using the TMR0 timer
Clock : 4 MHz => period T = 0.25 microseconds
1 IS = 1 Instruction Cycle = 1 microsecond
error: 0.16 percent
*/
{
char i;
OPTION = 7;
do {
clrwdt(); // only if watchdog enabled
i = TMR0 + 39; /* 256 microsec * 39 = 10 ms */
while ( i != TMR0)
;
} while ( --n > 0);
}Ese código cuenta 1us por cada valor de "n". De manera que si le das a la función un parámetro de n=20, hará una pausa de 20us y luego seguirá con el programa. Entonces, pones esta función en alguna parte del programa y luego cuando quieras hacer una pausa, la llamas.
Por otro lado, usando CCS... en el punto donde quieras hacer la pausa, colocas la instrucción:
delay_us(20);Y listo!
Claro que en ambos casos tienes que definir primero que el oscilador del pic es de 4MHz, eso lo colocas en la cabecera del programa.
Como puedes ver, hay diferencias entre los compiladores... por eso es bueno acostumbrarse a usar uno solo y dominarlo bien; claro si por alguna razón tienes que programar con otro compilador, no es tan difícil.
En cuanto a un compilador, hay diferentes versiones, lo mejor es que uses la más reciente posible. Y luego te irás actualizando, lo que tienes que hacer es ver lo nuevo que traiga la nueva versión.
Pero te digo, pic basic es muy bueno porque tú lo que tienes que hacer es conectar las cosas como te dice el manual y todo funciona perfecto (es el unico compilador que veo que te dice como deben ser las conexiones eléctricas).
Bueno ya esto se está poniendo fastidioso así que lo dejo por ahora...
Sigue así amigo Mpak, que te vas a divertir en grande!!
Saludos cordiales!!
:mrgreen:
P.D.: yo tengo un compilador de basic que te puede ayudar, no está muy actualizado pero creo que para lo que necesitas te puede servir... si te interesa me avisas vale?
-
Muchas gracias de nuevo firepic.
Los compiladores que tengo son demo.
Si me gustaria tener algun compilador full y actualizado, para poder practicar sin restriciones.
Muchas gracias.
Un saludo.
-
Hola:
Bueno, me parece primeramente un lenguaje algo "fuerte" para una "dama", en fin, no quiero y no es mi afán polemizar como les encanta a otras personas, si te sentiste ofendida o "tocada" por algún comentario, pido disculpas, cuando dije algo es porque entendí como moderador que lo del C está fuera del "tiesto" en un subforo exclusivo del Basic.
Simplemente cuestión de criterios respecto a compiladores, cualquier cosa no polemizamos y si tienes algo más para decirme, está mi correo o mensajes personales para atener a algo más.
-
Amiga Sandra, guao! :shock: no creo que sea bueno usar ese tipo de palabras en el foro... pero disculpame también a mí si por alguna razón te hice molestar... sabes? creo que el problema fue en las palabras usadas, cuando dijiste:
Entre las varias ventajas para mi la mas importante es que en c es un lenguaje estructurado te permite tener un control optimo del flujo del programa con lo cual obtienes programas mas eficientes.
Hablaste del "flujo del programa"... no especificaste lo que dices ahora con toda exactitud, sobre las funciones con parámetros. Ahí tienes toda la razón. Esa sin duda es una gran ventaja de C con respecto a Basic... también por eso yo migré a C! :mrgreen:
No obstante, como también tú misma dices, para el amigo mpak el basic le será de gran utilidad para comenzar a trabajar con pics. Siempre se empieza desde lo más sencillo... pero no por eso menos divertido! :D
Ok, saludos cordiales! Paz y bien para todos..
-
Estimados colegas antes que todo buenas tardes, en cuanto a como se esta desarrollando el tema les quiero decir para que se tenga claro esto es una comunidad y solo debemos ser asi comunitarios y tendientes a ser mejor en lazos de amistad y ayudarnos unos a los otros no dejemos que esto sea una gallera ya somos lo bastante adulto para eso, si quieres saber quien es el mejor y como jajaja la respuesta en facil el mejor es dios y los hiso a todos y lo que quieres es nuestra amistad y salud asi que hermanos difrutemos de este aprendizajhe que es el mundo de los pic ya sea por el lenguaje que sea pero sacandole provecho sano.
saludos y los amo a todos
-
Hola:
Bueno, me parece primeramente un lenguaje algo "fuerte" para una "dama", en fin, no quiero y no es mi afán polemizar como les encanta a otras personas, si te sentiste ofendida o "tocada" por algún comentario, pido disculpas, cuando dije algo es porque entendí como moderador que lo del C está fuera del "tiesto" en un subforo exclusivo del Basic.
Simplemente cuestión de criterios respecto a compiladores, cualquier cosa no polemizamos y si tienes algo más para decirme, está mi correo o mensajes personales para atener a algo más.
Pido una muy sincera y sentida disculpa si ofendí o lastime a algún forero, otra a un mas sentida por alterar la paz y la concordia que debe existir en el foro sobre todo por que los integrantes mas viejos debemos predicar con el ejemplo. Lamento profundamente que un adjetivo de cuatro letras aya provocado que no se me considere una dama.
Sobre todo festejo y celebro la serenidad y la prudencia de LordLafebre si tú no me consideras una dama yo si te considero un caballero
PD. Yo también los amo a todos. todos somos hermanos porque todos somos hijos de dios
-
Saludos amiga Sandra! Bueno todos cometemos errores, un desliz ocasional de caracter no te quita lo dama que puedas ser; por tus últimas palabras se demuestra que lo eres, sin duda alguna.
Por cierto, quería decirte que me gusta mucho lo que colocas sobre el pesimista, el optimista y el realista... del todo cierto!
Ok nos leemos en el foro! :mrgreen:
-
Esa es mi Sandraaaaaaaaaa.
Pero me gusta más cuando te sale la vena malhablada, que conste :D
-
Sobre todo festejo y celebro la serenidad y la prudencia de LordLafebre si tú no me consideras una dama yo si te considero un caballero
Hola:
Pues no me esperaba esa respuesta, olvida por favor lo que escribí entre comillas, es solo que me imaginé tu actitud o en el tono en el que me lo decías, recuerda algo, hay diversidad de gente en el foro, varias culturas, regiones por ende paises, no en todos lados una palabra de 4 letras se puede entender de la misma forma, no esperé que respondieras así como leí el mensaje anterior, eres una dama sin dudar y muy guapa además :g), de lo que he podido notar 8) :D
-
Los felicito sabia que si estaban el el mundo de la tecnologia eran capaces de salir de tan pequeño mal entendido asi es foristas son los mejores y a trabajar si ser cada dia mas unidos.
Hoy los amo mas saludos y abrazos y un viivaa sandra
-
Hola de nuevo.
Ya he comenzado a aprender PicBasic y ya me han empezado a asaltar las dudas en este caso sobre las memorias.
Ahi van:
Para poder identificar o espresar correctamente la posicion de un Bit,Byte, Word o la direccion de un dato en memorias de Programa, de Instrucciones, EEprom, RAM o FLASH...........
1-¿Como se estructuran las memorias de Programa y de Instrucciones?
2-¿Como se estructuran las memorias EEprom, RAM y FLASH de un PIC?
3-¿Como saber la cantidad de memoria libre de Programa, de Instruciones, EEprom, RAM o FLASH?
4-¿Como se identifica la memoria usada y la libre en todos lo tipos de memorias mencionadas?
5-¿Que utilidades practicas se le puede dar a un programa basado en memorias ya sea de un PIC o de un dispositivo externo(Ajeno al pic)?
6-¿Se pueden mezclar datos de tipo Bit, Byte o Word a lo largo de un programa?
7-¿Que es la pila y que mision tiene?
Si estas necesitan mucha explicacion y es complicado postear la respuesta por que puede ser muy extensa........¿hay alguna forma de encontrar documentacion que me aclare estas dudas?
Muchas gracias de antemano.
Un saludo a todo el foro.
PD: Si ven que soy muy pesado por favor hechenme del foro.
-
Hola:
Puesdes buscar bibliografía, no hay nada mejor que un libro para que resuelvas esas dudas, en google puedes buscar libros, puedes conseguirte estos:
http://www.ugr.es/~croneco/pub.htm
http://www.librerialuces.com/datoslibros.php?cod=38241
http://www.futurlec.com/BooksPIC.shtml
Con esa bibliogrfía, responderás esas dudas y muchas más.