Устройство BLE, службы и характеристики имеют 128-битный UUID для идентификации.Для стандартизированных услуг и характеристик также существует 16-битная короткая версия, например, 0x1800 для Универсальный доступ .
Для преобразования 16-битного в 128-битный UUID, 16-битные значениядолжен быть заполнен следующим UUID в байтах 2 и 3 (в порядке байтов:
0000xxxx-0000-1000-8000-00805F9B34FB
Так что 0x1800 преобразуется в:
00000018-0000-1000-8000-00805F9B34FB
В Windows есть функция, которая делает этодля вас: BluetoothUuidHelper.FromShortId
var uuid = BluetoothUuidHelper.FromShortId(0x1800);
В предыдущей версии Windows вместо этого вы использовали бы GattDeviceService.ConvertShortIdToUuid .
Поэтому замените свою функциюConvertFromInteger
с указанным выше. Ваша функция заполняет все 0 вместо вышеуказанного значения UUID.