Título: Recibe datos por el puerto serie en modo consola y lo interpreta Publicado por: Meta en 21 Abril 2016, 15:11 pm Hola:
Quiero recibir datos por el puerto serie. He hecho varios ejemplos. Lo más sencillo es este código de abajo, solo tiene que mostrar número en la posición que yo quiera X, Y del 0 al 1023 que recibe todo el rato. El código le llega desde Arduino y su código es. Código Arduino: Código
Código C#: Código
Cuando varío el potenciómetro de Arduino, en el puerto serie del PC, en pantalla de C# o modo consola, tiene que aparecer valores que lee el programa, la pantalla se apaga rápido. ¿Alguna idea? Saludos. Título: Re: Recibe datos por el puerto serie en modo consola y lo interpreta Publicado por: Eleкtro en 23 Abril 2016, 00:44 am Por "pantalla" asumo que estás intentando referirte a la consola o shell de Windows, es decir, la CMD.
¿Qué otra cosa esperas que haga un programa al finalizar su ejecución?, cerrarse. Para evitar un cierre precoz y así poder ver el progreso, puedes iniciar tu programa desde otra instancia de la CMD para que al finalizar su ejecución no se cierre dicha instancia, o bien puedes detener la ejecución de tu aplicación con Console.ReadLine(). Saludos Título: Re: Recibe datos por el puerto serie en modo consola y lo interpreta Publicado por: Meta en 23 Abril 2016, 09:41 am Hola:
He cambiado un poco el código, me mantiene el CMD o consola de C#. Lo que no me funciona es pasar de string que son valores del 0 al 1023 a int. Cada string que me llega del 0 al 1023 cada dos por tres tiene su \n al final, por eso puse un delimitador, para quitar el \n cuando llegue y se quede en un valor, por ejemplo el 587\n al 587, luego tengo que pasarlo del string a int para hacer los cálculos pàsar a voltaje y otro en porcentaje. Lo que me falta es eso, convertir en string a int y quitar el \n y \r. Supuestamente el \n lo quita, pero da error nada más ejecutar la palicación. Aquí hay que usar un delimitador, creo que se llama así. https://msdn.microsoft.com/es-es/library/ms228362.aspx#Anchor_4 (https://msdn.microsoft.com/es-es/library/ms228362.aspx#Anchor_4) Necesito crear un buendelimitador para quitarlos \n\r cada vez que me llega un dato así. 658\n\r Debe quedar así: 658 Lo captura en modo string, luego tengo que pasar de string a int. No me sale. Saludos. Saludos. Título: Re: Recibe datos por el puerto serie en modo consola y lo interpreta Publicado por: Eleкtro en 23 Abril 2016, 15:49 pm Es un problema con facil solución:
PD: No uses el método por defecto sin parametizar, debes especificar los caracteres adecuados en el array, creo que serían los respectivos códigos Unicode de las constantes Microsoft.VisualBasic.ControlChars.CrLf (o ControlChars.Cr + ControlChars.NewLine):
Saludos Título: Re: Recibe datos por el puerto serie en modo consola y lo interpreta Publicado por: Meta en 23 Abril 2016, 17:55 pm Hola:
Muchas gracias mi muy distinguido amigo. Me funciona al 100 %. Dejo el código por si acaso. Código
Saludos. |