На этот вопрос уже есть ответ здесь:
Я хочу отправить значение температуры с микроконтроллера с помощью интерфейса UART на С# и отобразить температуру на Label.Content
. Вот мой код микроконтроллера:
while(1) {
key_scan(); // get value of temp
if (Usart_Data_Ready())
{
while(temperature[i]!=0)
{
if(temperature[i]!=' ')
{
Usart_Write(temperature[i]);
Delay_ms(1000);
}
i = i + 1;
}
i =0;
Delay_ms(2000);
}
}
и мой код C#:
private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
txt += serialPort1.ReadExisting().ToString();
textBox1.Text = txt.ToString();
}
, но там возникает исключение " Недопустимая операция с несколькими потоками: доступ к элементу управления "textBox1" осуществляется из потока, отличного от потока, в котором он был создан " Подскажите, пожалуйста, как получить строку температуры с моего микроконтроллера и убрать эту ошибку!