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

C#串口发送数据问题

添加引用:Microsoft.VisualBasic(是C#代码,只是需要引用下。。) 用以下遍历SerialPortNames,获得所有的串口 Microsoft.VisualBasic.Devices.Computer pc = new Microsoft.VisualBasic.Devices.Computer(); foreach (string s in pc.Ports.Ser...

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

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

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...

串口主要有以下几个参数: 1.串口名称(PortName) 2.波特率(BaudRate) 3.数据位(DataBits) 4.奇偶效应(Parity) 5.停止位(StopBits) 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5...

忘了看你还要把接收的转回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);//读取缓冲数据

1、会根据WriteBufferSize的大小,自动分段发送,不会丢弃数据; 2、会根据ReadBufferSize的大小,自动分段读取,不会丢弃数据; 你怀疑的读取和发送过程中的溢出的情况,跟串口驱动分配的缓冲大小有关; 应该还跟系统内存大小有关,C# 对溢出的...

把发送指令发到时钟中运行,在定义一个bool变量,如果第一组数据发送并接受到数据后,设置bool变量为true,时钟开始发送第二组数据,例如: bool isReadOk=false; button1_Click(...) { //serial的打开,略; //启动时钟 timer.Interval=100; tim...

将要发送的命令添加到List中,开一个线程去依次发次List中的命令。 设置一个标志,发送后将标志IsReceived设置为False,然后循环判断该标志的状态,直到变为True即接收到有效数据,或者时间超过一定后还为False视为接收出错或者超时。 在Serialp...

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