zpxc.net
当前位置:首页 >> C# 串口数据发送问题 >>

C# 串口数据发送问题

用C#自带的串口控件(serialPort)的DataReceived方法,一个串口收发数据就用一个控件,分别对应着一个方法。如: private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e) { Thread.Sleep(25);//这行是设定读取间...

首先确定接收的数据是不是对的,再说转换问题,数据有高低位不能直接tostring

这类软件通常需要一个缓存、在独立的线程中进行收发。不管多大的数据流,都没问题。 调试最好用VSPD虚拟一对串口,另一端用流行稳定的串口软件,如格西烽火、SSCOM等,辅助测试。

我给你写到一个类里了;public class ComPort{//串口通讯对象SerialPort taxPort;//端口号默认是COM1private string portName = "COM1";//波特率默认是9600private int baudRate = 115200;//接收超时时间默认为1000private double timeOut = 100...

bin文件读取直接用streamRead类读取即可 串口发送有现成的SerialPort类,SerialPort.Write方法来发送读取得数据。注册DataReceived事件负责接收回复。定义一个bool变量bSendState。每次write后,bSendState置为true,然后使用循环,等待bSendSta...

忘了看你还要把接收的转回10进制。 接收的如果是按字节接收(ReadByte),那么接收回来的数直接就可以用10进制表示,如果需要显示,可以直接在变量之后加.ToString(); 不明白可直接加我HI ---------------------------------- 之前的回答 byte[] ...

没这样用的,一般的用法发送时 serialPort.Write(messagesend, 0, messagesend.Length);接收时 int n = serialPort.BytesToRead;byte[] buf = new byte[n];//声明一个临时数组存储当前来的串口数据 serialPort.Read(buf, 0, n);//读取缓冲数据

public static byte[] HexStringToByteArray(string s) { s = s.Replace(" ", ""); byte[] buffer = new byte[s.Length / 2]; for (int i = 0; i < s.Length; i += 2) { buffer[i / 2] = (byte)Convert.ToByte(s.Substring(i, 2), 16); } retur...

你发送的又不是ascii编码,应该类似于这样接收 int DataLength=serialPort1.BytesToRead;byte[] ds=new byte[DataLength];int len=serialPort1.Read(ds,0,DataLength);//然后对这个byte[]中的每个byte转为十六进制显示出来就行了。string return...

网站首页 | 网站地图
All rights reserved Powered by www.zpxc.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com