因此,我正在尝试开发一个使用 USB 适配器将树莓派与指纹读取器集成的程序。
我的问题是指纹识别器在握手过程中需要自定义数据包。
我需要发送一个数据数组:Header [2]、Adress[4]、Indentifier[1]、Data Lenght[2]、Command[1]、control[1]、checksum[0]。
我的代码看起来像这样
byte[] array = new byte[13];
byte[] start;
start = BitConverter.GetBytes(0xEF01);
var lenght = BitConverter.GetBytes(0007);
var adress = BitConverter.GetBytes(0xFFFFFFFF);
var checksum = BitConverter.GetBytes(0x0D);
array[0] = start[0];
array[1] = start[1];
array[2] = adress[0];
array[3] = adress[1];
array[4] = adress[2];
array[5] = adress[3];
array[6] = 01;
array[7] = lenght[0];
array[8] = lenght[0];
array[9] = 17;
array[10] = 0;
array[11] = checksum[0];
array[12] = checksum[0];
foreach(var bit in array)
{
DataWriterObject.WriteByte(bit);
}
await DataWriterObject.StoreAsync();
bytesRead = await DataReaderObject.LoadAsync(15).AsTask(ReadCancellationTokenSource.Token); //Wait until buffer is full
当 StoreAsync 函数运行时,我的 USB 适配器会点亮 TX 指示灯。但是我的程序在等待回复时超时。
Ì 认为 DataWriter 发送的数据顺序不正确,指纹传感器的响应不正确。
有没有办法知道我是否以正确的方式发送它?