Я пытаюсь прочитать данные из последовательного порта. Он считывает данные, когда я устанавливаю точку останова.Данные последовательного порта Получены только при установке контрольной точки C#
Я пробовал с родительским делегатом invoke, некоторые задержки также. Это не работает для меня.
Вот мой код
Чтение кода из файла класса:
public void comport_DataReceived2(object sender, SerialDataReceivedEventArgs e)
{
var bytes = comport.BytesToRead;
var buffer = new byte[bytes];
string test2 = comport.ReadExisting();
if (IsReadPDSS)
{
if(test2 != string.Empty && test2 != " " && test2.Length > 30)
{
test2 = test2.Substring(30);
test2.Replace("000000000000P0000W", "");
strReceived += test2;
}
}
else
{
strReceived = test2;
}
}
окна образуют retriving чтения данных:
строка сс = FormObj.strReceived.ToString();
Ваша '' test2.Length> 30'' в условии if может объяснить, что вы получаете разные результаты при использовании контрольных точек. При отладке вы, скорее всего, собираете более «существующие» данные по сравнению с полным запуском. Следовательно, ваше предложение if истинно во время отладки, но не при нормальной работе, так как вы получите это событие до прибытия 30 символов. Измените его на «байты> 30», если вы посмотрите на эту сумму и переместите вызов '' comport.ReadExisting() 'внутри поля if вместе с удалением других предложений в инструкции if, относящихся к test2. – BitTickler
привет, очень спасибо. он работает. Спасибо за вашу своевременную помощь – Raaga