• 大小: 2.33KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2024-05-02
  • 语言: C#
  • 标签: VLLC514CH  纬朗  

资源简介

简单的光源控制,只有写入,没有读取

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.IO.Ports;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LightControl_LEILI
{
    class VLLC514CH
    {
        #region 变量声明
        private string receiveInfoFromSerialPort = ““;//接收来自光源控制器的反馈信息(发送信息的反馈信息)
        private string sendInfoToSerialPort = ““;//发送信息给光源控制器的信息
        #endregion

        /// 
        /// 打开与光源控制器连接的串口
        /// 

        /// 指定串口
        /// 串口名称
        /// 停止位
        /// 奇偶校验
        /// 波特率
        /// 数据位
        /// 是否连接上光源控制器标志
        public bool OpenSerialPort(SerialPort SerialPort string PortName StopBits StopBits Parity Parity Int32 BaudRate Int32 DataBits)
        {
            try
            {
                SerialPort.PortName = PortName;//设定串口名称
                SerialPort.StopBits = StopBits;//设定串口停止位
                SerialPort.Parity = Parity;//设定奇偶校验
                SerialPort.BaudRate = BaudRate;//设定波特率
                SerialPort.DataBits = DataBits;//设定数据位
                SerialPort.Open();//打开串口

                if (SerialPort.IsOpen)//判断串口是否打开
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
            catch
            {
                return false;
            }
        }

        /// 
        /// 向串口发送数据
        /// 

        /// 指定串口
        /// 串口是否打开标志
        /// 需要发送的信息
        /// 发送指令是否成功
        public bool SendInfoToPort(SerialPort SerialPort bool IsOpen string Info)
        {
            int iReceiveInfoLength = 0;//接收光源控制器的反馈信息的长度
            try
            {
                if (IsOpen)//判断串口是否打开
                {
                    SerialPort.Write(Info);//发送指令

                    iReceiveInfoLength = SerialPort.BytesToRead;//读取光源控制器的反馈信息长度
                    byte[] ReadBuffer = new byte[iReceiveInfoLength];//初始化读取缓存区的数据数组
                    SerialPort.Read(ReadBuffer 0 iReceiveInfoLength);//读取缓存区的数据
                    SerialPort.DiscardInBuffer();//数据接收完成以后清空缓存区

                    for (int i = 0; i < iReceiveInfoLength; i++)//将接收到的数据转换成字符串
                    {
                        receiveInfoFromSerialPort += ReadBuffer[i].ToString(“X2“) + ““;
                    }

                    if (Info == receiveInfoFromSerialPort)//判断指令是否发送成功,如果发送成功会返回与发送指令相同的信息
                    {
                        return true;
                    }
                    else
                    {
                        return false;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      13288  2020-12-16 16:36  VLLC514CH.cs

----------- ---------  ---------- -----  ----

                13288                    1


评论

共有 条评论