Comunicacion Puerto Serial - Programa Hibrido
-
jueves, 22 de diciembre de 2011 9:15
Hola a todos,
Me gustaria saber como realizar un programa con MFC en visual C++ para comunicarme por el puerto serie a través del comando SerialPort donde envie y reciba datos, ya que al parecer en MFC me permite el uso de Ensamblador dentro del codigo o si hay alguna forma de utilizar Ensamblador en una aplicacion de windows form?Muchas Gracias .
Todas las respuestas
-
miércoles, 28 de diciembre de 2011 5:44ModeradorQuien permite el uso de ensamblador es C++, no MFC. Puede crear una aplicación en C++ sin utilizar MFC y aún así utilizar ensamblador.
Jose R. MCP -
jueves, 12 de enero de 2012 13:06Moderador
Aparte de la respuesta de WebJose, tienes un buen jaleo mental.
Primero deberías leerte esto de mi blog para poder distinguir entre C++ clásico y C++/CLI de .NET, que es donde está el componente SerialPort: http://geeks.ms/blogs/rfog/archive/2009/06/15/191-qu-233-es-c-y-qu-233-es-c-cli.aspx
Luego, desde C++/CLI no puedes ejecutar ensamblador de x86, pero sí el MSIL del CLR (que es lo que hay debajo del .NET). Y desde C++ nativo sí que puedes ejecutar ensamblador x86 pero no puedes acceder desde él al componente SerialPort, no al menos directamente sin pasar por una llamada a C++/CLI desde C++...
Es decir, algo así (escrito de memoria, sólo a título informativo):
//Método en C++/CLI: void UnaClase::MetodoCPP_CLI(int parametro) { SerialPort.Write(...); } //Métoco en C++ clásico void MetodoCPP_Nativo(int parametro) { instanciaDeUnaClase.MetodoCPP_CLI(parametro); } //Código ensamblador: ... PUSH AX CALL _MetodoCPP_Nativo; ...
Personalmente no veo la necesidad de hacer nada así...
Si quieres usar el puerto serie desde C/C++, puedes usar las funciones CreateFile, ReadFile y WriteFile del api de Win32...
MVP Visual C++ - Visita mi blog sobre desarrollo: http://geeks.ms/blogs/rfog/- Marcado como respuesta webJoseMicrosoft Community Contributor, Moderator sábado, 04 de agosto de 2012 20:37

