
c#的例子如下(我朋友调试和下面的电路板通信的,协议是自定义的,你只看过程就行了),下面计算机串口和单片机设备连接还有通用的电路,不过你用什么MCU都不知道真的不好给你例子,只能有局部电路图
private void OpenSmode_Click(object sender, EventArgs e)
{
string S;
S = "";
int Sum = 0;
byte[] RxArray = new byte[25];
byte[] TxArray = new byte[2];
bool Flag = false;
TxArray[0] = 0x53;
for (int i = 0; i < 25; i++)
{
RxArray[i] = 0x00;
}
if (serialPort1IsOpen)
{
serialPort1Write(TxArray, 0, 1);
ThreadSleep(200);
serialPort1Read(RxArray, 0, 21);
serialPort1Write(RxArray, 20, 1);
ThreadSleep(200);
serialPort1Read(RxArray, 21, 2);
for (int i = 1; i < 23; i++)
{
Sum += RxArray[i];
}
if (Sum == 0)
{
Flag = true;
}
if (Flag == true)
{
S += ConvertToString(RxArray[0],16);
}
else
{
for (int i = 0; i < 23; i++)
{
S += ConvertToString(RxArray[i],16) + " ";
}
}
textBox2Text = S;
if (RxArray[20] == RxArray[21])
{
if (Flag == true)
{
textBox5Text = " 处于S模式中";
}
else
{
if (RxArray[22] == 0x4F)
{
textBox5Text = " 成功打开S模式";
}
else
{
textBox5Text = " 打开S模式失败";
}
}
}
else
{
textBox5Text = " 打开S模式失败";
}
}
}
在初始化里面最好把SCON写上
你上位机发送的是数据格式是什么 字符型是还是16进制形式发送
如果是上位机是以16进制发送,则接收时不该是RECEIVR_buffer =='0' 而是RECEIVR_buffer ==0
以上就是关于怎么实现用C#编写程序利用电脑COM串口接收传感器信号,再向继电器、电磁阀发送信号最好再举一个简单的例全部的内容,包括:怎么实现用C#编写程序利用电脑COM串口接收传感器信号,再向继电器、电磁阀发送信号最好再举一个简单的例、单片机串口接收命令‘1’打开继电器,‘0’断开继电器,大侠指导谢谢、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)