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

//创建一个串口通讯SerialPort CurrentPort = null;CurrentPort = new SerialPort(); CurrentPort.ReadBufferSize = 128; CurrentPort.PortName = comName; //端口号 CurrentPort.BaudRate = bandRate; //比特率 CurrentPort.Parity =parity;//...

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

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

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

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

你试试改下SerialPort 的Handshake设置,应该是这个原因.之前我也遇到过,一个属性一个属性的改,才找出来是这个原因.

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

发送的都是byte。是你接收那边代码写错了。可以截图看一下代码。

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

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