Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Meta en 12 Julio 2017, 17:12 pm



Título: Recibir datos desde el puerto serie.
Publicado por: Meta en 12 Julio 2017, 17:12 pm
ola:

He creado este formulario con MFC 2017.

Tengo creado el proyecto MFC siguiendo este tutorial (https://es.slideshare.net/Metaconta2/formulario-windows-con-visual-c-2017) a partir de la página 36.

Como puedes ver en la captura, he puestodos botones llamado ON y otro llamado OFF.

(https://social.msdn.microsoft.com/Forums/getfile/1034169)

Como puedes ver abajo, añado un Richt edit.

(http://www.subeimagenes.com/img/aab-1723055.png)

Las librerías están aquí.

https://github.com/Gmatarrubia/LibreriasTutoriales

¿Cómo puedo recibir datos desde el puerto serie y lo muestre en el Richtedit?

Al menos con los botones del formulario MFC indicado arriba si puedo enviar datos al puerto serie.

Saludos.


Título: Re: Recibir datos desde el puerto serie.
Publicado por: ivancea96 en 12 Julio 2017, 19:29 pm
Dando por hecho que tienes el objeto para manejar el puerto serie conectado con el Arduino, solo queda leer de este.
Para ello, si utilizas la clase SerialPort, tiene el evento DataReceived, que se llamará cuando reciba datos (https://msdn.microsoft.com/en-us/library/system.io.ports.serialport.datareceived(v=vs.110).aspx (https://msdn.microsoft.com/en-us/library/system.io.ports.serialport.datareceived(v=vs.110).aspx))
También puedes crear un Timer y leer con Read en ese mismo objeto.


Título: Re: Recibir datos desde el puerto serie.
Publicado por: Meta en 12 Julio 2017, 19:56 pm
Hola:

El enlace (https://msdn.microsoft.com/es-es/library/system.io.ports.serialport.datareceived(v=vs.110).aspx?f=255&MSPPError=-2147217396&cs-save-lang=1&cs-lang=cpp#code-snippet-1) que pusiste arriba, usa el C++ .net, en mi caso es C++ usando la tecnología MFC y es nativo. ;)

No tiene nada que ver. Por eso pregunto por aquí, porque lo que indacas ya lo he intentado, y en C++ .net si me funciona todo, pero con MFC no.

Saludos.


Título: Re: Recibir datos desde el puerto serie.
Publicado por: ivancea96 en 12 Julio 2017, 20:17 pm
Mm, respondí pensando que estaba en el foro .NET.

En ese caso, puedes usar la WinAPI, CreateFile y demás funciones.

Tienes aquí una guía: https://msdn.microsoft.com/en-us/library/ff802693.aspx (https://msdn.microsoft.com/en-us/library/ff802693.aspx)