C#串口 上位机怎么向下位机发送命令和接收下位机上传的数据

C#串口 上位机怎么向下位机发送命令和接收下位机上传的数据,第1张

很简单的,你从网上搜串口编程,出来一堆,我给你参考,仅供参考:

用串口类SerialPort

1、打开串口

public bool ComOpen(int OutTime, string ComNum, int BaudRate)

{

try

{

com.PortName = ComNum

com.BaudRate = 9600

com.DataBits = 8

//com.Parity = Parity.Even

com.WriteTimeout = OutTime

com.ReadTimeout = OutTime

com.Open()

}

catch

{

return false

//MessageBox.Show("打开串口失败!", "系统提示")

}

return true

}

2、先把你的协议转换为byte数据,具体的你自己拼写,下面的是把你的字符串转换为为ascII码,你的十六进制的其实是ascII码形式

ASCIIEncoding MyInfo = new ASCIIEncoding()

byte[] MySend = MyInfo.GetBytes(AlarmCode)

在数组中,起始位一般是0x02还是0x03啊,忘了,你自己看着拼一下

3、串口发送或者接受命令,把你的数组发送出去或者取出来,都一样

public byte[] ComSend(byte[] sendbyte,int SleepTime)

{

//byte[] refbyte = new byte[500]

int reallength

//try

//{

com.Write(sendbyte, 0, sendbyte.Length)

//return sendbyte

//}

//catch

//{

////MessageBox.Show("发送数据失败!")

//return null

//}

try

{

reallength = com.BytesToRead

byte[] refbyte = new byte[reallength]

reallength = com.Read(refbyte, 0, com.BytesToRead)

return refbyte

}

catch

{

return null

// MessageBox.Show("接收数据失败!")

}

}

通过虚拟串口软件(TCP2COM)中转即可,此软件使用时会虚拟出串口对,并且打开串口对一端,同时监听4G DTU F2X16连接端口,可实现与4G DTU F2X16之间通讯,并实现相关4G DTU F2X16以太网数据与对应串口之间的转换,客户软件只需打开和 *** 作相应串口对另一端即可。

RS485总线通信,上位机通过主机轮询的方式采集下位机信号! 也就是说下位机不能够主动发送信号,而是上未机通过地址依次读取这四路的报文并打印显示出来;每次通信都是有上位机发起的握手信号,下位机接收到信息后判断是不是自己信息,如果是则发送数据


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6763056.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存