⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datasend.cs

📁 这个源码是移动的基站接收源码
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.Text;
using Communication.IO.Tools;
using Microsoft.Practices.EnterpriseLibrary.Data;
using Microsoft.Practices.EnterpriseLibrary.Data.Sql;
using System.Data;
using System.Data.Common;

namespace GPSSerialPortData
{
    static class DataSend
    {
        private static CRCTool compCRC = new CRCTool();

        /// <summary>
        /// 控制字:41H(即时回送GPS数据命令); 54H(时间设置命令);53H(停止回送命令)
        /// </summary>
        public enum SendType
        {
            /// <summary>
            /// 即时回送GPS数据命令
            /// </summary>
            H41,
            /// <summary>
            /// 时间设置命令
            /// </summary>
            H54,
            /// <summary>
            /// 停止回送命令
            /// </summary>
            H53
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="terminalId"></param>
        /// <param name="sendType"></param>
        /// <param name="setTime">设置时间(格式:mmss)</param>
        /// <returns></returns>
        public static byte[] CreateBytes(int terminalId,SendType sendType, int setTime)
        {
            compCRC.Init(CRCTool.CRCCode.CRC_CCITT);

            //将终端号转换为定长的字符表示形式
            string strTerminalId = terminalId.ToString("00000000");
            //将时间设置转换为定长字符表示形式
            string strSetTime = setTime.ToString("0000");

            byte[] bytes = new byte[14];
            bytes[0] = 0X10;
            bytes[1] = 0X02;
            bytes[2] = 0X0B;

            bytes[3] = (byte)int.Parse(strTerminalId.Substring(0, 2), System.Globalization.NumberStyles.HexNumber);
            bytes[4] = (byte)int.Parse(strTerminalId.Substring(2, 2), System.Globalization.NumberStyles.HexNumber);
            bytes[5] = (byte)int.Parse(strTerminalId.Substring(4, 2), System.Globalization.NumberStyles.HexNumber);
            bytes[6] = (byte)int.Parse(strTerminalId.Substring(6, 2), System.Globalization.NumberStyles.HexNumber); 

            switch (sendType)
            {
                case SendType.H41:
                    bytes[7] = 0X41;
                    break;
                case SendType.H53:
                    bytes[7] = 0X53;
                    break;
                case SendType.H54:
                    bytes[7] = 0X54;
                    break;
            }

            bytes[8] = (byte)int.Parse(strSetTime.Substring(0, 2), System.Globalization.NumberStyles.HexNumber);
            bytes[9] = (byte)int.Parse(strSetTime.Substring(2, 2), System.Globalization.NumberStyles.HexNumber);

            bytes[10] = 0X00;
            bytes[11] = 0X00;
            bytes[12] = 0X00;
            bytes[13] = 0X00;

            //byte[] sendBytes = new byte[14];
            //for (int i = 0; i < bytes.Length; i++)
            //{
            //    sendBytes[i] = bytes[i];
            //}

           // sendBytes[13] = (byte)compCRC.CalcCRCITT(bytes);
            return bytes;
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -