Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/02/2015, 04:39
REHome
 
Fecha de Ingreso: mayo-2007
Ubicación: PIC-16F84A
Mensajes: 727
Antigüedad: 16 años, 11 meses
Puntos: 8
Intentar traducir este código a C++.

Hola:

Tengo este código dentro de un button para enviar tramas de bytes hecho con C#.

Código:
            // Enviar tramas de bytes.
            byte[] miBuffer = new byte[9]; // Led_13_ON son 9 byte máximo.
            miBuffer[0] = 0x4C; // ASCII letra "L".
            miBuffer[1] = 0x65; // ASCII letra "e".
            miBuffer[2] = 0x64; // ASCII letra "d".
            miBuffer[3] = 0x5F; // ASCII letra "_".
            miBuffer[4] = 0x31; // ASCII letra "1".
            miBuffer[5] = 0x33; // ASCII letra "3".
            miBuffer[6] = 0x5F; // ASCII letra "_".
            miBuffer[7] = 0x4F; // ASCII letra "O".
            miBuffer[8] = 0x4E; // ASCII letra "N".
            serialPort1.Write(miBuffer, 0, miBuffer.Length); // Envia las tramas de bytes.
Da igual cuantras tramas hay que enviar, en C++ se hace así com indica abajo enviando la letra t.

Código:
cli::array<unsigned char> ^uno = gcnew cli::array<unsigned char> (1);
uno[0] = 0x74; // ASCII letra "t".
serialPort1->Write(uno, 0, 1);
Quiero hacer una cadena escrito más cómodamente como el ejemplo en C# hecho abajo.

Código:
 byte[] mBuffer = Encoding.ASCII.GetBytes("Led_8_ON");
            serialPort1.Write(mBuffer, 0, mBuffer.Length);

Los errores son estos.
Cita:
------ Operación Generar iniciada: proyecto: InterDuinoCPP, configuración: Debug Win32 ------
InterDuinoCPP.cpp
c:\users\meta\documents\visual studio 2010\projects\interduinocpp\interduinocpp\Form1.h( 195): error C2653: 'Enconding' : no es un nombre de clase o espacio de nombres
c:\users\meta\documents\visual studio 2010\projects\interduinocpp\interduinocpp\Form1.h( 195): error C2065: 'ASCII' : identificador no declarado
c:\users\meta\documents\visual studio 2010\projects\interduinocpp\interduinocpp\Form1.h( 195): error C2227: el operando izquierdo de '->GetBytes' debe señalar al tipo class/struct/union/generic
el tipo es ''unknown-type''
c:\users\meta\documents\visual studio 2010\projects\interduinocpp\interduinocpp\Form1.h( 196): error C2664: 'void System::IO::Ports::SerialPort::Write(System::Strin g ^)' : no se puede convertir el parámetro 1 de 'int' a 'System::String ^'
No hay un operador de conversión definida por el usuario disponible, o
No existe una conversión estándar del formulario al que se le aplica la conversión boxing del tipo aritmético al tipo de destino
========== Generar: 0 correctos, 1 incorrectos, 0 actualizados, 0 omitidos ==========
¿Cómo se hace en Visual C++ 2010?

Gracias.
__________________
Meta Shell, VERSIÓN 1.2.2
Descargar