Мне нужно взять входящие данные из последовательного порта, поместить строку «ReadExisting» в очередь, а затем удалить ее обратно в пользовательский интерфейс.
Во время процесса отмены очереди я буду форматировать входящую строку, чтобы удалить ненужные символы, добавить LineFeeds (во входящих нет символов EOL) и т. Д. И публиковать различные части строки в нескольких элементах управления (список, текстовое поле). ) для просмотра.
Насколько я смог создать строку (RxString) из входящих данных:
private void serialPort1_DataReceived(object sender,
System.IO.Ports.SerialDataReceivedEventArgs e)
{
RxString = serialPort1.ReadExisting();
this.Invoke(new EventHandler(DisplayText));
}
Я могу получить входящие данные, но когда я пытаюсь отформатировать и отобразить их, некоторые из поступающих данных теряются или удаляются, или что-то еще, а текст становится нечитаемым. Если я не отформатирую текст и не отправлю его прямо в список, все данные будут в нем, но их нельзя будет использовать из-за лишних символов кода.
Я бы хотел обработать (DisplayText) с помощью фонового работника, чтобы последовательные данные могли поступать в очередь, чтобы не потеряться, пока фоновый работник обрабатывает размещение информации на экране. Если нет лучшего способа.