Red de conocimiento informático - Conocimiento del nombre de dominio - ¿Cómo escribir un programa en C# y utilizar el puerto serie COM de la computadora para recibir señales de sensores y luego enviar señales a relés y válvulas solenoides? Lo mejor es dar otro ejemplo sencillo.

¿Cómo escribir un programa en C# y utilizar el puerto serie COM de la computadora para recibir señales de sensores y luego enviar señales a relés y válvulas solenoides? Lo mejor es dar otro ejemplo sencillo.

El ejemplo de C# es el siguiente (mi amigo depuró y se comunicó con la placa de circuito a continuación. El protocolo es personalizado, solo necesita observar el proceso. Hay circuitos generales para conectar el puerto serie de la computadora). y el dispositivo microcontrolador a continuación. Pero no sé qué MCU estás usando. Es difícil darte un ejemplo. Solo puedo proporcionar un diagrama de circuito parcial.

openSmode_Click vacío privado (remitente de objeto, EventArgs e). )

{

cadena S;

S = "";

int Suma = 0;

byte[] RxArray = nuevo byte[25];

byte[] TxArray = nuevo byte[2];

bool Flag = false;

TxArray[ 0] = 0x53;

for (int i = 0; i < 25; i++)

{

RxArray[i] = 0x00;

}

if (serialPort1.IsOpen)

{

serialPort1.Write(TxArray, 0, 1);

Thread.Sleep(200);

serialPort1.Read(RxArray, 0, 21);

serialPort1.Write(RxArray, 20, 1);

Thread.Sleep(200);

serialPort1.Read(RxArray, 21, 2);

for (int i = 1; i < 23; i++)

{

Suma + = RxArray[i];

}

si (Suma == 0)

{

Bandera = verdadero;

}

if (Bandera == verdadero)

{

S += Convert.ToString(RxArray[0],16);

}

else

{

para (en

t i = 0; i < 23; i++)

{

S += Convert.ToString(RxArray[i],16) + " ";

}

}

textBox2.Text = S;

if (RxArray[20] == RxArray[21])

{

if (Flag == true)

{

textBox5.Text = "En modo S";

}

p>

else

{

if (RxArray[22] == 0x4F)

{

textBox5.Text = "Modo S abierto correctamente";

}

else

{

textBox5.Text = "Error al abrir Modo S";

}

}

}

más

{

textBox5.Text = "Error al abrir el modo S";

}

}

}