сейчас я пытаюсь работать с формами Xamarin в сочетании с устройствами I2C и Raspberry Pi. Я запрограммировал на C # и Raspberry Pi был установлен с Windows IoT. И я столкнулся с проблемой таймера.
Я хотел создать System.Threading.Timer и считывать данные с устройств I2C, а затем отображать их на метке каждую секунду, но когда я пытался отобразить данные, ошибка показала, что «Приложение вызвало интерфейс, который был назначен для другого потока. "
Следующий код - это то, что я пытался сделать.
public void InitSecondTimer(int interval)
{
secTimer = new Timer(interval);
secTimer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
secTimer.Start();
Debug.WriteLine("Secondtimer inited");
}
private void timer_Elapsed(object sender, ElapsedEventArgs e)
{
double voltage = 0;
InputI2C(ADC0, ref voltage); //Read data from I2C devices
ai0.Text = voltage.ToString(); //ai0 is a Label
}
Так, как я могу решить проблему? Я очень признателен за помощь!