Разбор / форматирование данных с последовательного порта - C #
Я разработал небольшую программу, которая слушает последовательный порт. Моя программа получает данные. Проблема в том, что он не отображается в нужном формате (одна строка). Данные, которые получает моя программа, представлены в двух строках, например:
ID:34242 State:NY
Почтовый индекс: 12345 StreetType: Ave
Он отображается чанками, а некоторые данные передаются следующим строкам:
ID:34242
State:N
Y Zip:12
345 Street
Type:Ave
Я использовал обработчик событий SerialDataReceive для получения моих данных, и это выглядит так:
private static void Port_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
SerialPort spL = (SerialPort) sender;
int bufSize = 20;
Byte[] dataBuffer = new Byte[bufSize];
Console.WriteLine("Data Received at"+DateTime.Now);
Console.WriteLine(spL.Read(dataBuffer, 0, bufSize));
string s = System.Text.ASCIIEncoding.ASCII.GetString(dataBuffer);
Console.WriteLine(s);
}
Как видите, я извлекаю байты в буфер, создаю байтовый массив для хранения данных и использую кодировку ASCII для преобразования байтов в строку. Я пытался использовать ReadLine (), но мои данные не отображаются с помощью этой функции. Кто-нибудь знает какой-либо другой способ разбора и форматирования данных в одну строку?