• C# 控制科兴16路继电器


        ///


        /// 操作继电器
        ///

        /// 表示打开还是关闭
        /// 操作第几路继电器(从1到16)
        private void OperationRelay(bool isOpenOrClose ,int Ch)
        {
            byte[] sBytes = new byte[] { 0xCC, 0xDD, 0xA1, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x3C };
            if (Ch <= 8)
            {
                sBytes[4] = 0;
                sBytes[6] = 0;
                sBytes[5] = (byte)(0x01 << (Ch - 1));
                sBytes[7] = (byte)(0x01 << (Ch - 1));
            }
            else
            {
                sBytes[4] = (byte)(0x01 << (Ch - 9));
                sBytes[6] = (byte)(0x01 << (Ch - 9));
                sBytes[5] = 0;
                sBytes[7] = 0;
            }
            if (isOpenOrClose==false)
            {
                sBytes[4] = 0;
                sBytes[5] = 0;
            }
            sBytes[8] = SumCheck(sBytes, 2, 6);
            sBytes[9] = SumCheck(sBytes, 2, 7);
            string str = BitConverter.ToString(sBytes).Replace("-", " ");

            SendUdpMessage(sBytes);
            Debug.Log(str);
        }

        public void BtnOpenAllClick()
        {
            byte[] sBytes = new byte[] { 0xCC, 0xDD, 0xA1, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x3C };
            SendUdpMessage(sBytes);
        }

        public void BtnCloseAllClick()
        {
            byte[] sBytes = new byte[] { 0xCC, 0xDD, 0xA1, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0xA0, 0x40 };
            SendUdpMessage(sBytes);
        }

    补充和校验的方法

    1. ///
    2. /// 和校验
    3. ///
    4. ///
    5. ///
    6. ///
    7. ///
    8. private byte SumCheck(byte[] cBytes, int startIndex, int cLenth)
    9. {
    10. byte check = 0;
    11. if (cBytes.Length > 1)
    12. {
    13. for (int i = startIndex; i < startIndex + cLenth; i++)
    14. {
    15. check = (byte)((cBytes[i] + check) & 0xFF);
    16. }
    17. }
    18. return check;
    19. }

  • 相关阅读:
    Canvas和SVG
    1V1音视频实时互动直播系统
    openresty ngx_lua执行阶段
    使用阿里云ECS和RDS搭建个人博客
    ER 图是什么
    以太网帧结构简介
    java 单例模式
    云原生之Linux命名空间和docker容器隔离
    ARM机下编辑安装mysql错误处理
    乐鑫 ESP-Mesh-Lite在windows下的开发环境搭建
  • 原文地址:https://blog.csdn.net/qq_34090937/article/details/128186311