关于SerialPort类的读取问题

linxiamaomao 2012-01-04 01:46:32

//////////////以上是COM类
protected int BytesToRead = 0;
protected int ReadStart = 0;
protected char[] ReadBuffer = new char[500];

public void Open
{
SerialPort COMPort = new SerialPort()
COMPort.PortName = "COM3"
COMPort.BaudRate = 19200
COMPort.DataBits = 7
COMPort.Parity = "偶"
COMPort.StopBits = one
if (!COMPort.IsOpen)
{
COMPort.Open();
COMPort.RtsEnable = true;
"连接成功"
}
else
{
"连接失败"
}
COMPort.DataReceived += new SerialDataReceivedEventHandler(COMPort_DataReceived);
}
protected virtual void COMPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
{

SendCommand();
//RetryCount = 0;
ReadBuffer = new char[500];
}
public void SendCommand()
{
COMPort.Write(LastCommad.GetCommand(), 0, LastCommad.GetCommand().Length);
}
//////////////PLC类
PLC类 :COM类
protected override void COMPort_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
ByteToRead = COMPort.BytesToRead;
COMPort.Read(ReadBuffer, ReadStart, BytesToRead);
ReadStart = ReadStart + BytesToRead;
}


请各位大师不要纠结参数的问题,
现在我可以写入值,但是ReadBuffer一起取不到值,一直报错ArgumentException 有大师能帮我解决下吗?在线等!谢谢
...全文
141 3 打赏 收藏 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiacheng1984 2012-01-04
  • 打赏
  • 举报
回复
如果读取没有成功的话,BytesToRead自然会一直累加。或者可用DiscardInBuffer();
xiacheng1984 2012-01-04
  • 打赏
  • 举报
回复
ReadBuffer数组的大小可能不足以容纳待读取的内容,读取前先判断BytesToRead的大小
linxiamaomao 2012-01-04
  • 打赏
  • 举报
回复
COMPort.BytesToRead 这个字节在读第二次的时候 为什么会继续累加上去呢?
内容概要:本文介绍了WiFiSupply斯普莱WFS7000XA工业级大功率双频无线AP基站,该设备支持2.4G/5GHz双频段,最大带宽达433Mbps,具备高发射功率(26dBm)、高接收灵敏度(-97dBm)和超远传输距离(可达1.5公里以上)。产品采用工业级设计,支持TDMA时分多址、私有协议、Fast Roaming快速漫游(切换延迟≤30ms)、抗干扰能力强,通信延迟低于1ms,支持主流PLC通信协议。设备支持胖瘦一体模式、多种供电方式(含POE)、IP54防护等级、-45~85℃宽温工作,适用于复杂电磁与恶劣环境。具备多重安全机制,如巨量安全隧道、VLAN、QoS、防火墙、MAC/IP过滤等,并支持SNMP、SSH、API对接及云平台集中管理,满足工业4.0、智慧物流、AGV/AMR小车、无人机遥控、车载视频传输等场景的无线组网需求。; 适合人群:从事工业自动化、物联网、智能制造、智慧物流等领域,具备一定网络与通信基础知识的技术人员及系统集成商。; 使用场景及目标:①用于AMR/AGV/RGV小车、穿梭车、天车等移动设备的无线联网与稳定通信;②实现室内外远距离无线桥接与覆盖,支持高速移动下的无缝漫游与低延迟数据传输;③构建高安全、高可靠的工业无线网络,支持PLC协议传输与远程集中管控。; 阅读建议:此文档侧重产品技术参数与工业应用场景,建议结合实际部署需求重点关注其抗干扰能力、漫游性能、供电方式与管理接口,便于在复杂工业环境中选型与集成。

111,128

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧