public void GrantLocalUARTCredits()
{
if (this.PendingLocalUARTCreditsCount != 0) return;
this.PendingLocalUARTCreditsCount = this.MaxLocalUARTCreditsCount -
this.LocalUARTCreditsCount;
Byte[] byteData = new Byte[1];
byteData[0] = (Byte)((this.PendingLocalUARTCreditsCount & 0xFF));
NSData valueData = (NSData.FromArray(byteData));
Characteristic UartRxCreditsCharacteristic = "00000003-0000-1000-
8000-008025000000 "; (ошибка здесь)
this.CbPeripheral.WriteValue(valueData, this.UartRxCreditsCharacteristic, CBCharacteristicWriteType.WithoutResponse);
}
Я использую CoreBluetools в проекте xamarin C# и получаю исключение нулевой ссылки с последней строкой в виде CBCharacteristi c Я думаю, что это не определено. В верхней части файла я определяю CBCharacteristi c с помощью
public CBCharacteristic UartRxCreditsCharacteristic {get ; set;}
и в этом файле ниже я установил uuid с
public static string UART_RX_CREDITS_UUID = " 00000003-0000-1000-8000-008025000000"
Я могу обнаруживать, подключаться и отключаться с приложением, так как оно работает с нашим исходным устройством, но с этим устройством ему требуются кредиты RX / TX (1 кредит на каждый 20-байтовый пакет, максимум 255 кредитов). код взят из оригинального переведенного кода производителя Objective C (в C#), и ошибка в строке кода WriteValue говорит «исключение нулевой ссылки» ((ссылка на объект не установлена для экземпляра объекта), как я думаю c невозможно найти при запуске кода. enter code here
Не уверен, как решить эту проблему. Ник