uControl
Octubre 25, 2014, 03:53:50 *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?

Ingresar con nombre de usuario, contraseña y duración de la sesión
 
   Inicio   Ayuda Buscar Ingresar Registrarse  

La gente de Niple nos ofrece un descuento especial para usuarios de uControl.
Entérate de como puedes aprovechar esta oferta haciendo click aqui.

Súmate, y ayuda a uControl con tu participación en esta interesante oportunidad que nos oferece Niple.

Páginas: [1] 2   Ir Abajo
  Imprimir  
Autor Tema: Arrancando a programar con PIC  (Leído 4256 veces)
0 Usuarios y 1 Visitante están viendo este tema.
deyhek
PIC10F
*
Desconectado Desconectado

Mensajes: 8


« : Julio 28, 2010, 04:00:13 »

Hola gente.
Me llamo Héctor, soy nuevo en el foro y estoy dando los primeros pasitos en programación de PIC. Me han recomendado hacerlo con el 16F628A y hacerlo en Pic Basic Pro, por lo que recurro a ustedes para poder sacarme algunas dudillas.
Hace un tiempo había arrancado con assembler, que me parecía interesante, pero medio me convencieron a pasar a PBP para evitar volverme loco cuando la programación del PIC se vaya complicando.

Preguntas:

1-Están de acuerdo en arrancar en basic en lugar de hacerlo en assembler?

2-Programar en PIC Basic es igual a hacerlo en PIC Basic Pro? Se diferencian en algo?
Hago la consulta para saber si puedo usar el manual de PBP para aprender sus instrucciones y luego utilizar el PIC SIMULATOR IDE.
De no ser así, con cuál conviene arrancar: PB o PBP?

3-Para iniciar una programación, qué herramientas de software recomiendan utilizar?
(Me refiero a compilador, quemador, emulador, etc)

4-Alguien usa el Microcode Studio Plus? Me lo recomendaron.
En qué se diferencia con el PIC Simulator IDE?

Bueno, desde ya agradezco la mano que puedan darme para ordenarme un poco las cosas!

Un abrazo,  Wink
Héctor.
En línea
lugo
PIC10F
*
Desconectado Desconectado

Mensajes: 98


« Respuesta #1 : Julio 28, 2010, 04:16:12 »

Que tal amigo, ahi te van mis comentarios,

1-Están de acuerdo en arrancar en basic en lugar de hacerlo en assembler?
R= Este no le entendí, pero assembler siempre será mas específico en la configuración del pic.

2-Programar en PIC Basic es igual a hacerlo en PIC Basic Pro? Se diferencian en algo?
Hago la consulta para saber si puedo usar el manual de PBP para aprender sus instrucciones y luego utilizar el PIC SIMULATOR IDE.
De no ser así, con cuál conviene arrancar: PB o PBP?
La diferencia de PicBasic contra PBP, son las herramientas que ofrece PBP ofrece más herramientas para controlar el pic, yo te recomiendo PBP.

3-Para iniciar una programación, qué herramientas de software recomiendan utilizar?
(Me refiero a compilador, quemador, emulador, etc)
Yo utilizo el compilador MicroCode Studio Plus, habrá otros mejor tal vez, yo con eso estoy cómodo, el quemador depende totalmente de ti, puedes usar uno de puerto paralelo, serial, o usb, si lo piensas construir cada uno tiene sus complicaciones, el mas sencillo creo que es el JDM-Plus por puerto Serial.
El emulador yo uso el Proteus, de nuevo hay muchos de estos todo depende de tus gustos.

4-Alguien usa el Microcode Studio Plus? Me lo recomendaron.
En qué se diferencia con el PIC Simulator IDE?
Como te digo yo uso el MC studio y me agrada bastante, y la diferencia de la versión de pic simulator ide que yo veo es que MC studio no tiene las herramientas para simulación de Pic simulator ide, como son algunas, ver entradas y salidas del pic, un oscilador virtual, un lcd, etc etc,

Espero te sirvan mis respuestas, y que te diviertas programando PIC's la verdad te ahorraras muchos dolores de cabeza al programar en basic en lugar de assambler.

saludos.
En línea
deyhek
PIC10F
*
Desconectado Desconectado

Mensajes: 8


« Respuesta #2 : Julio 28, 2010, 04:41:57 »

Lugo, gracias por tus sugerencias!
Me vienen bien a la hora de tomar las decisiones más apropiadas.

Un abrazo,
Héctor.
En línea
HJ
Moderador
dsPIC
******
Desconectado Desconectado

Sexo: Masculino
Mensajes: 5448



« Respuesta #3 : Julio 28, 2010, 05:03:04 »

Hola Héctor, bienvenido al foro y a la programación de PIC´s.

Mi punto de vista es que al comenzar con assembler te permite conocer a fondo el manejo de los registros y la lógica de funcionamiento del micro controlador. El trabajar con assembler además te permite manejar con precisión los tiempos y la cantidad de código, sobretodo con micros chicos.
Soy partidario que de aprender algún otro lenguaje, sería el "C", de hecho, lo estoy estudiando.
Con respecto al BASIC, lo que he leído, me indica que puede ser fácil de aprender, pero estaría reservado para cosas simples.
Siempre vas ha necesitar utilizar ASM dentro de otros programas.

Saludos
Héctor Javier
En línea

"si te lo dicen se te olvida, si lo lees lo aprendes; pero si lo haces realmente lo entiendes"
"Cuando llegue la inspiración, que me encuentre trabajando" [Pablo Picasso]
marqueses
PIC12F
**
Desconectado Desconectado

Sexo: Masculino
Mensajes: 142


Marqueses


WWW
« Respuesta #4 : Julio 28, 2010, 05:24:00 »

Te recomiendo C, en concreto CCS. Es el lenguaje mas universal, y a la hora de utilizar microcontroladores, al menos los PIC que son los que mas utilizo, para mi es el mejor.
Si quieres volverte loco con los registros, los movimientos de datos y de bits, entonces si que deberías comenzar por assembler, pero mi consejo es que no, ya que con C se va aprendiendo poquito a poco, y por otro lado te vas mirando las características en el datasheet.
Saludos.
En línea

deyhek
PIC10F
*
Desconectado Desconectado

Mensajes: 8


« Respuesta #5 : Julio 28, 2010, 05:24:36 »

Hola tocayo!
Si, es cierto lo que decís...
Es la otra vertiente de ideas, la de hacer la programación en assembler para hilar más finito.
Quizá en assembler ves detalles que en basic no, pero con basic la cosa se te facilita con programas mas largos, aunque al mismo tiempo perdés cierto control, como con rutinas precisas de tiempo. Me dá esa impresión. Por eso tiré el tema en la mesa.
Ayyy....qué disyuntiva...!!!  Cry

Muchas gracias por tu opinión!

Abrazo,
Héctor.
En línea
deyhek
PIC10F
*
Desconectado Desconectado

Mensajes: 8


« Respuesta #6 : Julio 28, 2010, 05:26:05 »

Gracias Marqueses!
Me había olvidado de esa otra vertiente... ja!  Wink

Abrazo,
Héctor.
En línea
deyhek
PIC10F
*
Desconectado Desconectado

Mensajes: 8


« Respuesta #7 : Julio 28, 2010, 05:29:33 »

Te recomiendo C, en concreto CCS. Es el lenguaje mas universal, y a la hora de utilizar microcontroladores, al menos los PIC que son los que mas utilizo, para mi es el mejor.
Si quieres volverte loco con los registros, los movimientos de datos y de bits, entonces si que deberías comenzar por assembler, pero mi consejo es que no, ya que con C se va aprendiendo poquito a poco, y por otro lado te vas mirando las características en el datasheet.
Saludos.

Marqueses, sé algo de assembler y de basic, pero nunca vi ni por las tapas algo de C.
¿Podrías darme una idea de lo complicado (o no) del lenguaje, algunas ventajas y desventajas básicas?
Sólo como para entender un poco de qué se trata el tema.

Muchas gracias,
Héctor.
En línea
marqueses
PIC12F
**
Desconectado Desconectado

Sexo: Masculino
Mensajes: 142


Marqueses


WWW
« Respuesta #8 : Julio 28, 2010, 06:33:20 »

Bueno, el lenguaje C para PIC es basicamente el mismo que C standard, no sé si sabes algo sobre este lenguaje, pero es el mas conocido y usado, al menos en mi opinion. De él nacieron otros lenguajes, y muchos se basan en el. Evoluciona a C++ y C#, otro lio. C siempre es complicado al comienzo, es como una relacion de amor-odio, al comienzo lo odias, pero al final te alegras de haberlo conocido.

En mi opinión assembler te sirve para conocer el micro punto por punto, para saber cual es, y como trabaja cada registro y cada bit de cada registro, pero trabajar con assembler, a no ser que necesites un programa muuuuy rapido, hablemos de control de velocidad de motores o cualquier otro proceso en el que el tiempo es critico. Por lo tanto, si no estas en la fase de aprender cada registro, ni en la del diseño de un proceso preciso, no te lo recomiendo.

Basic es un lenguaje muy basico, dicen que si sabes hablar ingles, sabes programar basic. Yo sinceramente nunca he tenido la necesidad de programar en basic, por que con C me ha valido para lo que he querido hacer. La gran desventaja de basic es que es tan simple que necesita de muchos recursos, lo que se traduce en mas lineas de código, mas procesamiento, mas lento el sistema a controlar.

Te coloco un enlace de una pagina que estoy montando en estos momentos (no sé si esto se puede hacer, si es que no avisadme), en el que explico un código de "hola mundo" en C para pics (superrepetido, pero por algo ay que empezar  Grin). Miratelo y ya me comentas si te resulta difícil de comprender o prefieres basic.

http://sites.google.com/site/almarqueses/

Saludos
En línea

Ariel
Global Moderator
dsPIC
****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 10631



WWW
« Respuesta #9 : Julio 28, 2010, 06:57:27 »

¿Podrías darme una idea de lo complicado (o no) del lenguaje, algunas ventajas y desventajas básicas?
Sólo como para entender un poco de qué se trata el tema.

Muchas gracias,
Héctor.

Hola!
Bienvenido a estos pagos.

El tema de que lenguaje usar seguro que genera polémica. Pero todo depende de lo que vayas a hacer.

1) BASIC te va a permitir "jugar" con leds, pulsadores, LCD, etc en solo unas horas. De hecho, CREO que el 95% de las cosas que hace un aficionado tranquilamente las puede hacer con BASIC.

2) C es bastante mejor. Quizas no sea tanto mejor que el BASIC (al menos en compiladores modernos), pero podes pensar en C como el idioma ingles: practicamente podes porgramar cualquier micro (de Atmel, Microchip o lo que sea) con C, casi que sin cambiar nada. Eso significa que el tiempo que le dediques a aprenderlo estará bien empleado. Y la buena noticia es que no es mucho mas complicado que el BASIC, al menos el las cosas básicas.

3) ASM es la mejor forma de sacar todo el jugo a un micro. Pero es una pesadilla programar en ASM por que cada instruccion hace "casi nada". Y -casi seguro- si recien estas empezando en esto, dificilmente ta haga falta semejante nivel de control del micro.

Desde mi modestisimo punto de vista te recomiendo jugar un par de semanas con BASIC, y luego pasarte al C. Vas a ver que agarras viaje muy rápido. Y si llega el dia en que tenes que controlar algun tiempo con una presicion de millonesimas de segundo o algo asi, descubrirás qaue dentro de tu programa en C podes agregar una rutinita en ASM que haga eso, y el compilador la incluirá en tu HEX Wink

Yo soy pésimo programando, pero me las he rebuscado durante unos 4 años, desde que empece, con PIC BASIC y CCS. Ahora estoy jugando un poco (muy poco) con C18, pero escencialmente son casi lo mismo. Jamas escribi una linea en ASM.

OJO: No estoy diciendo que el ASM no te vaya a servir....solo que quizas ahora no lo necesites.

Un abrazo!
En línea

Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert
Ariel
Global Moderator
dsPIC
****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 10631



WWW
« Respuesta #10 : Julio 28, 2010, 06:59:27 »

Te coloco un enlace de una pagina que estoy montando en estos momentos (no sé si esto se puede hacer, si es que no avisadme),

Pues....claro que se puede!!!!!!!!!!!!! Wink

Suerte con eso!!! Avisa cuando vayas poniendo mas cosas interesantes!
En línea

Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert
torres.electronico
Moderator
PIC16F
***
Desconectado Desconectado

Sexo: Masculino
Mensajes: 744


►ComodoroRivadavia◄ ►PATAGONIA◄ ►ARGENTINA◄


WWW
« Respuesta #11 : Julio 29, 2010, 01:36:31 »

...Y si llega el dia en que tenes que controlar algun tiempo con una presicion de millonesimas de segundo o algo asi, descubrirás qaue dentro de tu programa en C podes agregar una rutinita en ASM que haga eso, y el compilador la incluirá en tu HEX...

En PBP y picaxe tambien se puede incluir ASM (en picaxe, me lo reservo por el momento Grin , y en PBP "@" para meter una declaracion y ASM / ENDASM para un codigo en ensamblador)... creo que proton tambien admite ASM.... Cuando termine de aprender PBP, vamos por el C y vamos a ver cuantos pares son 3 botas  Grin
En línea

En la vida hay que ser una bolita de nervios, y no un (censurado) nervioso... Yo personalmente se por que se los digo...
deyhek
PIC10F
*
Desconectado Desconectado

Mensajes: 8


« Respuesta #12 : Julio 29, 2010, 03:42:32 »

Hola gente! Cómo están.
La verdad, todos sus comentarios van resolviendo muy bien mis inquietudes.  Wink
Creo que para empezar, podría arrancar con Basic y conforme vaya avanzando, seguir con C a medida que vayan surgiendo las necesidades. En caso de necesitar mucho control de tiempo, vería Assembler.
Marqueses, entré a tu web y tenés razón, realmente no parecería asustar demasiado el C, por lo que lo tendré en cuenta.
Quizá arrancaría con Basic porque hoy me resulta más manejable, con lo poquito que sé, que leí. Creo que así me engancharía con más facilidad, dado que tengo alguna noción.
Si me engancho, seguro podría continuar con C como uds me sugieren. Máxime si el dia de mañana necesito utilizar otras familias de controladores. Ahí está bien piola.

En cuanto a los requerimientos iniciales que tengo, hoy x hoy realmente no son muy exigentes.
De hecho, para empezar quería hacer una pequeña estación que mida velocidad del viento, dirección del viento y temperatura.
Las dos últimas variables son de lenta variación, por lo que estimo no habría inconvenientes en programarlas en Basic. La primera, tampoco debería tenerlos ya que sólo debo registrar x cantidad de pulsos en una ventana de tiempo.


Muchas gracias a todos...!!! laugh
Héctor.
En línea
HJ
Moderador
dsPIC
******
Desconectado Desconectado

Sexo: Masculino
Mensajes: 5448



« Respuesta #13 : Julio 29, 2010, 03:52:47 »

De hecho, para empezar quería hacer una pequeña estación que mida velocidad del viento, dirección del viento y temperatura.
Hola tocayo, interesante proyecto.
Fijate por el foro que Leon PIC está haciendo una estación meteorológica.

Te sugiero que abras otro hilo para comentar los avances que estés llevando a cabo sobre tu proyecto

Saludos
HJ
En línea

"si te lo dicen se te olvida, si lo lees lo aprendes; pero si lo haces realmente lo entiendes"
"Cuando llegue la inspiración, que me encuentre trabajando" [Pablo Picasso]
deyhek
PIC10F
*
Desconectado Desconectado

Mensajes: 8


« Respuesta #14 : Julio 29, 2010, 09:24:48 »

Hola Héctor.
(Pareciera que me saludo yo mismo... Grin já!)
Muchas gracias por la data de la estación que están construyendo.
Seguramente me será útil lo que allí estén pensando hacer, y si avanzo con mi proyecto, haré lo que sugerís, postearlo también así les cuento cómo irá caminando.

Gracias de nuevo!
Héctor.
En línea
Páginas: [1] 2   Ir Arriba
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.20 | SMF © 2011, Simple Machines
SMFAds for Free Forums
XHTML 1.0 válido! CSS válido!
Página creada en 0.167 segundos con 30 consultas. (Pretty URLs adds 0.028s, 3q)
loggkey