Intentando pasar de VC# a VC++ esta parte que parece que no sirve.
Código:
Código completo de Visual C# Express. Descargar aquí. 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Windows.Forms; 9 using System.IO.Ports; 10 11 namespace PicRS232 12 { 13 public partial class Form1_Principal : Form 14 { 15 // Utilizaremos un string como buffer de recepcion 16 string Recibidos; 17 public Form1_Principal() 18 { 19 InitializeComponent(); 20 // Abrir puerto mientra se ejecute la aplicación 21 if (!serialPort1.IsOpen) 22 { 23 try 24 { 25 serialPort1.Open(); 26 } 27 catch (System.Exception ex) 28 { 29 MessageBox.Show(ex.ToString()); 30 } 31 } 32 // Ejecutar la funcion Recepcion por disparo del Evento 'DataReived' 33 serialPort1.DataReceived += new 34 System.IO.Ports.SerialDataReceivedEventHandler(Recepcion); 35 } 36 // Al recibir los datos 37 private void Recepcion(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) 38 { 39 // Acumular los carácteres recibidos a nuestro 'buffer' (string) 40 Recibidos += serialPort1.ReadExisting(); 41 // Invocar o llamar al proceso de tramas 42 this.Invoke(new EventHandler(Actualizar)); 43 } 44 // Procesar los datos recibidos en el buffer y extraer tramas completas 45 private void Actualizar(object s, EventArgs e) 46 { 47 // Asignar el valor de la trama al textBox 48 textBox_visualizar_mensaje.Text = Recibidos; 49 } 50 private void button_t_Click(object sender, EventArgs e) 51 { 52 byte[] mBuffer = new byte[1]; 53 mBuffer[0] = 0x74; //ASCII letra "t". 54 serialPort1.Write(mBuffer, 0, mBuffer.Length); 55 } 56 57 private void button_b_Click(object sender, EventArgs e) 58 { 59 byte[] miBuffer = new byte[1]; 60 miBuffer[0] = 0x62; //ASCII letra "b". 61 serialPort1.Write(miBuffer, 0, miBuffer.Length); 62 } 63 64 private void button_a_Click(object sender, EventArgs e) 65 { 66 byte[] mBuffer = new byte[1]; 67 mBuffer[0] = 0x61; //ASCII letra "a". 68 serialPort1.Write(mBuffer, 0, mBuffer.Length); 69 } 70 71 private void button_l_Click(object sender, EventArgs e) 72 { 73 byte[] mBuffer = new byte[1]; 74 mBuffer[0] = 0x6C; //ASCII letra "l". 75 serialPort1.Write(mBuffer, 0, mBuffer.Length); 76 } 77 78 private void button_Espacio_Click(object sender, EventArgs e) 79 { 80 byte[] mBuffer = new byte[1]; 81 mBuffer[0] = 0x20; //ASCII letra "Espacio". 82 serialPort1.Write(mBuffer, 0, mBuffer.Length); 83 } 84 85 private void timer1_Tick(object sender, EventArgs e) 86 { 87 statusStrip1.Items[0].Text = DateTime.Now.ToLongTimeString(); 88 } 89 } 90 }