# Recomendación sobre lenguaje



## malev05 (Mar 9, 2008)

Amigos!
me estoy embarcando en un proyecto en el cual necesito:
1.- Mandar datos desde un PIC a una PC por USB
2.- Manipular matemáticamente estos datos
3.- Presentar gráficar tipo osciloscopio (no se si agarran la idea)

La pregunta:
Que lenguaje me recomiendan: JAVA, VB, C#, etc... y si ya trabajaron con algo similar, cuenten la experiencia.
Particularmente me motiva JAVA, per no se que tan apto sea para este tipo de proyectos

espero opiniones y sugerencias!
saludos


----------



## heli (Mar 10, 2008)

Personalmente: para el PIC ensamblador y C. Para el PC C y C++.
VB: muy pesado, solo de Microsoft, no sirve para micros.
JAVA: mas pesado. No sirve para micros. Ventaja: es muy portable.
C#: no lo he usado. Dicen que es muy bueno, pero prefiero el viejo y ESTANDAR C y C++. No sirve para micros.
Lo que mas me gusta es el C. No es lo mejor, pero una vez que lo aprendes sirve para CASI TODOS los micros y sistemas operativos y no tienes que aprender distintos lenguajes. C++ para cosas mas grandes y con sistema operativo (PC).


----------



## malev05 (Mar 10, 2008)

heli,
Si, yo pensaba usar C para el PIC, más precisamente el CCS, ya que ensamblador me parece demasiado engorroso.
En cuanto a la PC, opino igual que vos, que con C voy a poder hacer todo lo que quiera, pero yo necesito algo con interfaz gráfica y me parece que C en este plano me va a significar un dolor de cabeza.
A mi el que más me interesa aprender es JAVA, pero no encuentro antecedentes de gente que lo haya utilizado y haya podido trabajar el USB. Si encontre de C# y de VB, pero los 2 son para win (bajon!)
Por eso justamente mi consulta, si había alguien que haya trabajado estos temas y me pueda contar mas o menos su experiencia y me recomiende alguno

Igual muchas gracias!


----------



## Javier Rambaldo (Mar 10, 2008)

Yo trabaje con interfaces PIC-PC usando C++ en la PC y ASM en PIC.
Obvio que te voy a recomendar C++ por dos razones:
1) como dice "heli", tiene sus ventajas con respecto a cualquier otro lenguaje, para trabajar con interfaces de comunicacion.
2)_I love it!!_
(no te guies por la segunda...)

Con respecto a la interfaz gráfica tienes Borland C++ que posee muchos componentes para trabajar con graficos. Muuucho mejor que Visual C...aunque éste es la otra opción.

Puedes bajar el Turbo C++ de Borland que esta gratuito:
http://cc.codegear.com/Free.aspx?id=24724

O si quieres algun trial del Builder C++ para probar...
http://www.codegear.com/products/cppbuilder


----------



## cooperharris (Mar 10, 2008)

Te recomiendo que trabajes con labview


----------



## ZOH (Mar 11, 2008)

Te recomiendo C# ya que es muy flexible y se encuentran muchos ejenplos del USB en internet, además de poderlo descargar gratuitamente d internet.


----------



## puts (Mar 12, 2008)

Personalmente he trabajado con una gran variedad de lenguajes de programación y te puedo recomendar que no uses JAVA ya que este lenguaje de programación es orientado a objetos y presenta una gran dificiultad para trabajar con flujos de entrada y salida.

El USB siempre ha representado una dificultad mayor para mi al trabajarlo en cualquiera de los lenguajes, si quieres trabajarlo en C, C++ o C# podrías ir a una tienda de electrónica y comprar un convertidor de serie a USB, de esta manera podrías trabajar con las instrucciones inport(); y outport(); que manejan de una manera sencilla los puertos seriales.

Visual Basic maneja un componente que es el command, el cual lo puedes agregar a los diseñadores e insertar una instancia de éste a tu programa, después parametrizarlo con unos cuantos clicks y lísto( esto si tienes el convertidor de USB a serie)

MatLab y LabView son buenas sugerencias para el manejo del USB, personalmente los prefiero, porque son lenguajes de programación más orientados a los flujos de entrada y salida y esto los hace más poderosos para este tipo de aplicaciones, además de que tienen librerias que hacen que trabajes de una manera sencilla con puertos, sin embargo tienen el problema de portabilidad.

dale una checada al MatLab y al LabView, son las mejores opciones para trabajar USB.


----------



## eidtech (Mar 12, 2008)

Primera Opcion C++ o C#

Segunda Opcion Labview

Yo no usaria Java para ello, aunque conozco alguien que realizo un proyecto similar al que tu mencionas y le quedo muy bien.

Labview tiene sus ventajas como programacion sencilla, parte grafica muy facil, pero adquiriendo datos a altas velocidades lo considero poco estable y mas por USB se llega a colgar, aunque depende del firmware de tu dispositivo USB.

Considera mucho el hardware de la PC donde se va a ejecutar el programa, un programa en Labview necesita mucho pero mucho mas recursos que uno en C.

Si solo es un proyecto escolar o por hobby esto creo que no influye mucho, pero si tiene otros fines si te recomendaria algo mas del tipo de C (o C++ o C#).


----------



## Nico666 (Mar 14, 2008)

C, C++, C#, Delphi son de los mas comunes.

aunque si lo que quieres es aprender en serio utiliza el lenguaje ensamblador.

para simular recomiendo  te recomiendo ISIS PROTEUS


----------



## Mili27 (Feb 22, 2016)

hola, soy inexperta en electrónica, tengo en mente un proyecto que requiere de programar pics, soy informática y aclaro nunca he programado pics,  mi proyecto trata de  sopesar un objeto y segun su peso colocarlo en un almacen(orificio), me interesa aprender y ojalá alguien me pueda ayudar, sólo quiero su experiencia y que sean sinceros y me digan cuánto tiempo necesito para aprender hacer lo que quiero.

pueden ayudarme?


----------



## Nuyel (Feb 22, 2016)

Pues:
Arduino (Pinguino para los Pic) es nivel principiante

C es recomendado si buscas explotar la mayoría de ventajas del chip (el Arduino en realidad compila sobre C pero esta disfrazado con sintaxis mas simple y funciones que se consideran propias del lenguaje)

Ensamblador, es el mas "simple" de usar, lo de simple es por las instrucciones claras, PERO, debes conocer el chip de principio a fin y entender como funciona cada uno de los registros y para qué, por lo que puede ser un poco complicado.

Si te urge mucho puedes optar por Arduino o sus replicas, pero antes de iniciar, primero plantea bien lo que harás y que necesitas para elegir el chip adecuado y por su puesto, que puedas adquirir sin complicaciones.


----------



## John Miller (Feb 22, 2016)

Hola buen día si hasta ahora comienzas,  te recomiendo Arduino, puedes construir y controlar tu proyecto mucho mas fácil que con un PIC.

Con Arduino conectas entre si un par de modulos, una programación sencilla y tienes tu proyecto en minutos.

Con PIC aparte de programación vas a necesitar aprender a simular, copilar, cargar un Hex, comprar un quemador, realizar un pcb, soldar, aprender y comprender mas conceptos de electrónica, aparte de ello los códigos para proyectos no los vas a encontrar con facilidad, te va a tomar un par de meses encarar ese proyecto.

Con Arduino y su lenguaje que es de codigo abierto, te puede servir para proyectos a futuro sin tener muchos conocimientos en electrónica, puedes desarollar tu proyecto en un par de días.   

Puedes realizar una App para tu móvil y poder tener un registro de estos mismos.

MK.


----------



## cosmefulanito04 (Feb 22, 2016)

Sin dudas, como mínimo empezá con C, assembler no vale la pena si no tenés que optimizar (esto requiere mucho conocimiento del hard y de programación a muy bajo nivel).

Después sobre la familia del uC (microcontrolador), si tenés ganás de aprender algo que valga la pena a futuro, andá por cualquier ARM (puede costar al principio, pero lo vale).


----------

