У меня есть устройство, которое посылает данные в формате [stx]..data...[etx]
C# приема данных от последовательного порта, используя readto()
Есть ли способ, чтобы использовать serialport.readto()
функцию для чтения данных Шифрование до [etx]
?
byte test = sp.ReadByte();
if (test == 0x02 && comOpen)
{
string indata = sp.ReadTo("");
watch = "\n" + indata;
SetText(watch);
process_data(indata);
sendack(0x06);
}
Количество данных меняется каждый раз, когда он отправляет данные.
Я нашел реализацию serialport.read()
функция очень типичная :). так есть ли способ, которым я могу использовать функцию serialport.readto()
для чтения данных во входящем потоке?
Любое предложение было бы очень полезно.
Непонятно, почему вы не используете ReadTo() правильно. Является ли зависанием, что вы не знаете, как его использовать, или является зависанием, что данные двоичные? –
sp.Readto ("") содержит символ между "", обработанным регистратором последовательных данных для [ETX]. он не появляется здесь и не в VS, а там. Я имитирую устройство из симулятора, чтобы разработать приложение для обработки этих данных. – user3095292
Хм, ну, не делай этого. Вместо этого используйте «\ u0003». –