¿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]; p>
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";
}
}
}