Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
Hola,
Estoy en un proyecto de desarrollo de un robot que envie al PC por el puerto serie asincrono datos de odometria y distancia a los objetos cercanos. Para ello he estado usando el hyperterminal para depurar la transmission Robot->PC.
Cuando he querido pasar a hacerme un programita en C para hacer graficas y procesar los datos, he desempolvado el Turbo C y me he peleado con el puerto serie usando bioscom(), inport(). Sin exito, cuando descubro que Windows XP no permite acceso a los puertos directo. Se tiene que hacer via API.
No me gustaria tener que dedicar tiempo a aprender Visual C++ o Visual Basic, no tengo mucho tiempo y el poco que tengo lo quiero dedicar a experimentar con el robot. Como lo que quiero hacer: recoger datos del robot por el puerto serie me parece tan sencillo, seguro que alguno de vosotros teneis alguna idea de como podria hacerlo sin recurrir a complicarme la vida aprendiendo a programar en Windows con APIs y demas.
Muchas gracias por vuestros comentarios.
zapa
Otra opción para aquellos que como yo, somos 'lerdos' con el C++, es usar el C#, como el Microsoft C# Express gratuito que se puede bajar por internet. Usar el puerto serie bajo dicho entorno es fácil hasta para mí.
¿qué lenguaje te más cómodos? ¿sólo C?
Como dice beamspot C# con .Net es la forma más fácil de programar para Windows.
Pero tienes muchas opciones, dependiendo si el procesamiento de datos y generación de gráficos ha de ser continuo o lo puedes hacer a posteriori.
Una de las opciones es utilizar dos lenguajes o "herramientas":
- una para tratar con el puerto serie, por ejemplo un sencillo programa para línea de comandos en C para tratar con el puerto serie y generar un fichero con los datos,
- y otra para fácilmente procesar los datos y generar los gráficos, por ejemplo excel o cualquier otra hoja de cálculo.
También tienes otros IDEs open source como Code:Blocks o con librerías gráficas, como QT (ahora de Nokia) (con esta clase para tratar con el puerto serie)
Yo he realizado un par de proyectos para clase usando Qt y el puerto seria tal como dice aprendiendo en su post.
El IDE que trae aun en la version GPL es bastante completo con muchas opciones "arrastrar y listo" aparte te da flexibilidad para programar en diversos lenguajes (personamente siempre he preferio cpp) Así como facilitar las cosas a la hora de portar codigo a Win, Linux o Mac. De hecho alguno de los test que he realizado han sido conjuntos con otro miembro de la asociación, el en windows y yo en linux funcionando perfectamente y de forma muy optima.
La verdad es que las librerías Qt están muy bien. Yo las empezé a usar en Linux en 1995 e hice dos PFC con ellas, asi que no puedo hablar mal; el soporte de sockets más que aceptable y la documentación es muy buena. Además vienen muchos ejemplos que puedes "reciclar" para tu proyecto.
No sé como andará ultimamente el qt designer, pues yo siempre he hecho los layouts y la parte gráfica "a pelo", porque el designer, al menos cuando empezó, era muy farragoso.
El problema de las qt en windows es que no se llevaban (al menos las 2-3 veces que lo he intentado) muy bien con el devcpp; cuando lo he intentado he tenido que modificar makefiles, recompilar todas las librerias qt (1hora) y después cambiar rutas, paths, etc.
Si te vas para las qt es mejor pasarse "al lado oscuro" del visual c++. También es cierto que si haces un proyecto con las librerías y lo retomas al cabo de un par de años te empezarán a salir errores de cosas "deprecated" o funciones miembro que han sido eliminadas, etc.
Yo al final opté por hacer mis propias liberías de botoncicos y layouts sdl y opengl, tipo menus juegos para PC.
Victor,
¿has probado el QTCreator desde que QT es de Nokia (Junio de 2008)?
Dentro de lo sencillo es bastante efectivo.
Yo no he visto otro IDE open source, con capacidad de creación de ventanas de forma visual, mejor. He probado bastantes y es el único que le podría hacer sombra al Visual Studio de MS en un futuro cercano.