У меня проблема с таймером Windows Forms, который должен вызывать метод, который считывает данные из последовательного интерфейса, используя Serial.ReadExisting (). Я часто получаю несколько звонков от таймера, когда мой com-порт пытается отправить данные, что разбивает одну строку на несколько строк. Это беспокоит меня, так как я помещаю метку времени перед возвращаемой строкой и добавляю ее в многострочное текстовое поле. Есть ли способ для таймера подождать, пока метод не закончит чтение входящих данных, без необходимости откладывать / замедлять мой таймер?
Что у меня есть:
private void loop_Tick(object sender, EventArgs e)
{
AddToTextBox(Program.SerialReadLine());
}
И
public static string SerialReadLine()
{
string read = _serialPort.ReadExisting();
return read;
}