You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.7 KiB
C#
53 lines
1.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Bluetoolth
|
|
{
|
|
public class Utility
|
|
{
|
|
|
|
//服务
|
|
public static String UUID_SERVER = "0000ff12-0000-1000-8000-00805f9b34fb";
|
|
|
|
//间隔
|
|
public static String UUID_Interval = "0000ff04-0000-1000-8000-00805f9b34fb";
|
|
|
|
//写 WriteWithoutResponse
|
|
public static string UUID_Write = "0000ff01-0000-1000-8000-00805f9b34fb";
|
|
//读 Notify
|
|
public static string UUID_Read = "0000ff02-0000-1000-8000-00805f9b34fb";
|
|
|
|
//名字 Read Write
|
|
public static String UUID_Name = "0000ff06-0000-1000-8000-00805f9b34fb";
|
|
|
|
public static Guid UUID_CONFIG_DESCRIPTOR = Guid.Parse("00002902-0000-1000-8000-00805f9b34fb");
|
|
public static Guid UUID_HEART_RATE_MEASUREMENT = Guid
|
|
.Parse("00002a37-0000-1000-8000-00805f9b34fb");
|
|
|
|
/// <summary>
|
|
/// CRC校验
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <param name="length"></param>
|
|
/// <returns></returns>
|
|
public static ushort CRC(byte[] data, int length)
|
|
{
|
|
ushort tempCrcResult = 0xffff;
|
|
for (int i = 0; i < length; i++)
|
|
{
|
|
tempCrcResult = (ushort)(tempCrcResult ^ data[i]);
|
|
for (int j = 0; j < 8; j++)
|
|
{
|
|
if ((tempCrcResult & 0x0001) == 1)
|
|
tempCrcResult = (ushort)((tempCrcResult >> 1) ^ 0xa001);
|
|
else tempCrcResult = (ushort)(tempCrcResult >> 1);
|
|
}
|
|
}
|
|
return (tempCrcResult = (ushort)(((tempCrcResult & 0xff) << 8) | (tempCrcResult >> 8)));
|
|
}
|
|
}
|
|
}
|