猿问

跨线程操作无效:从上创建的线程以外的线程访问的控件“textBox 1”

我想用UART将温度值从单片机发送到C#界面,并将温度显示在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();}

但在那里出现了例外“跨线程操作无效:从创建线程以外的线程访问的控件“textBox 1”“请告诉我如何从我的微控制器得到温度串,并消除这个错误!”


慕尼黑5688855
浏览 509回答 3
3回答
随时随地看视频慕课网APP
我要回答