Hola:
Con este código puedo enviar un caracter en hexadecimal por el puerto serie, me funciona.
Code Snippetbyte[] miBuffer = new byte[1];
miBuffer[0] = 0x74; // Letra "t" del ASCII.
this.serialPort1.Write(miBuffer, 0, miBuffer.Length);
Al recibir un caracter hexadecimal que ejecute una instrucción del C#. Por ejemplo:
Un label1 quiero que se muestre un mensaje desde el _Visual C# "Activado" o "Desactivado" depende de losd atos a recibir en modo hexadecimal.
Si en una variable hay al macenado un valor por ejemplo el 0x16. Llega el dato 0x74, como no son iguales aparece un mensaje del label1 en "Desactivado". Si son iguales 0x74 == 0x74 entonces se activa el mensaje "Activado".
Espero que se entienda lo que quiero decir. Ejemplo abajo pero gobertado por un button1. En realidad quiero que sea mediante el db9 RS232.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;
namespace Leer_PIC
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int Entrada_de_datos = 0x16;
if (Entrada_de_datos == 0x74) // 0x74 es una 't' en ASCII.
{
label1.Text = "Activado";
}
else
{
label1.Text = "Desactivado";
}
}
}
}
Saludos.