📄 datasend.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 + -