当前位置: 首页 > wzjs >正文

做爰小视频网站网站如何进行seo

做爰小视频网站,网站如何进行seo,ecetc商务网站建设工程师,代理网络游戏在 C# 串口通信的一发一收场景里,处理不同功能码的帧数据可采用以下合理的代码结构,它能让代码更具可读性、可维护性和可扩展性。 实现思路 定义帧结构:创建一个类来表示通信帧,其中包含功能码、数据等信息。功能码处理逻辑&…

 

在 C# 串口通信的一发一收场景里,处理不同功能码的帧数据可采用以下合理的代码结构,它能让代码更具可读性、可维护性和可扩展性。

实现思路

  1. 定义帧结构:创建一个类来表示通信帧,其中包含功能码、数据等信息。
  2. 功能码处理逻辑:使用字典或者switch语句来根据不同的功能码执行相应的处理逻辑。
  3. 数据接收与解析:在串口接收事件中解析接收到的数据,并根据功能码调用对应的处理方法。
using System;
using System.Collections.Generic;
using System.IO.Ports;// 定义通信帧类
public class CommunicationFrame
{public byte FunctionCode { get; set; }public byte[] Data { get; set; }public CommunicationFrame(byte functionCode, byte[] data){FunctionCode = functionCode;Data = data;}
}// 定义串口通信类
public class SerialCommunication
{private SerialPort serialPort;private readonly Dictionary<byte, Action<CommunicationFrame>> frameHandlers = new Dictionary<byte, Action<CommunicationFrame>>();public SerialCommunication(string portName, int baudRate){serialPort = new SerialPort(portName, baudRate);serialPort.DataReceived += SerialPort_DataReceived;}// 注册功能码处理方法public void RegisterHandler(byte functionCode, Action<CommunicationFrame> handler){if (!frameHandlers.ContainsKey(functionCode)){frameHandlers.Add(functionCode, handler);}}// 打开串口public void Open(){if (!serialPort.IsOpen){serialPort.Open();}}// 关闭串口public void Close(){if (serialPort.IsOpen){serialPort.Close();}}// 发送数据public void Send(CommunicationFrame frame){if (serialPort.IsOpen){byte[] dataToSend = new byte[1 + frame.Data.Length];dataToSend[0] = frame.FunctionCode;Array.Copy(frame.Data, 0, dataToSend, 1, frame.Data.Length);serialPort.Write(dataToSend, 0, dataToSend.Length);}}// 数据接收处理private void SerialPort_DataReceived(object sender, SerialDataReceivedEventArgs e){try{if (serialPort.BytesToRead > 0){byte functionCode = (byte)serialPort.ReadByte();int dataLength = serialPort.BytesToRead;byte[] data = new byte[dataLength];serialPort.Read(data, 0, dataLength);CommunicationFrame frame = new CommunicationFrame(functionCode, data);if (frameHandlers.TryGetValue(functionCode, out var handler)){handler(frame);}}}catch (Exception ex){Console.WriteLine($"Error receiving data: {ex.Message}");}}
}class Program
{static void Main(){SerialCommunication serialComm = new SerialCommunication("COM1", 9600);// 注册功能码处理方法serialComm.RegisterHandler(1, HandleFunctionCode1);serialComm.RegisterHandler(2, HandleFunctionCode2);serialComm.Open();// 发送示例数据byte[] data = { 0x01, 0x02, 0x03 };CommunicationFrame frameToSend = new CommunicationFrame(1, data);serialComm.Send(frameToSend);Console.WriteLine("Press any key to exit...");Console.ReadKey();serialComm.Close();}// 处理功能码 1 的方法static void HandleFunctionCode1(CommunicationFrame frame){Console.WriteLine($"Received frame with function code 1. Data length: {frame.Data.Length}");}// 处理功能码 2 的方法static void HandleFunctionCode2(CommunicationFrame frame){Console.WriteLine($"Received frame with function code 2. Data length: {frame.Data.Length}");}
}

http://www.dtcms.com/wzjs/147559.html

相关文章:

  • 文化传媒可以做网站吗体育热点新闻
  • 哪里有网站建设流程广州seo排名收费
  • 京东的网站建设介绍站长工具中文
  • 网站怎么做图片动态图片大全万能搜索
  • 2022中央农村工作会议公报网站推广优化c重庆
  • 怎么做网站优化 sit临沂seo优化
  • 手机端网站设计制作案例南京百度推广优化
  • www开头网站怎么做百度服务商
  • wordpress getuser广州排前三的seo公司
  • 徐州哪里做网站好互联网创业项目
  • 卓辉科技 网站建设中层管理者培训课程有哪些
  • 局域网内部网站建设app商品推广软文写作500字
  • 音乐分享网站开发2024年度关键词
  • 备案主体负责人 网站负责人廊坊百度快照优化哪家服务好
  • 网站站长 感受写软文推广
  • 免费设计海报网站bt最佳磁力搜索引擎
  • 网站制作百度友情链接交易平台
  • 米拓建站怎么样企业网站制作开发
  • 专业的赣州网站建设互联网营销顾问
  • 淄博周村学校网站建设报价引流推广是什么意思
  • 做产品推广哪个网站好上海专业seo公司
  • 腾讯云可以做网站吗app开发需要多少费用
  • 利用国外网站文章图片做书营利整合营销理论主要是指
  • 招商加盟的网站应该怎么做注册公司流程和费用
  • wordpress隐藏图片地址seo竞价
  • 如何做淘宝联盟网站的推广seo优化包括哪些
  • seo案例网站百度实名认证
  • 电子商务网站购物车怎么做青岛 google seo
  • 白云区手机版网站建设长尾关键词挖掘精灵官网
  • wordpress dz论坛济南seo公司报价