• 17-11-2017, 20:49:40
    #1
    Arkadaşlar arduino ile c#'a veri gönderiyorum mesela 1 sayısı geliyor ve bunu labelde gösteriyorum 1 olarak fakat bir if döngüsünde bu gelen sayı 1 e eşitmi diye kontrol ettiriyorum if döngüsüne girmiyor problemi çözemedim bir türlü
    string sonuc = serialPort1.ReadLine();  buraya arduinodan değer geliyor gelen değer 1
                    string[] veri = sonuc.Split('|'); kırpma yapıyorum
                    label1.Text = veri[0];   
                    string hkn = "1"; bunu kendim ekledim if döngüsünde karşılaştırmak için
                    
                    if (veri[0] == hkn) {    gelen veri 1 benim üstte oluşturduğum değişkende 1 ama bu ife girmiyor bir türlü
    }
  • 17-11-2017, 20:53:24
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Veri [0].ToString () == hkn.ToString () olarak denermisiniz
  • 17-11-2017, 20:58:48
    #3
    etapsoft adlı üyeden alıntı: mesajı görüntüle
    Veri [0].ToString () == hkn.ToString () olarak denermisiniz
    olmadı hocam
  • 17-11-2017, 21:01:11
    #4
    Valx adlı üyeden alıntı: mesajı görüntüle
    olmadı hocam
    Veri 0 1 olarak geliyor mu f9 ile takip edin bakalım. Yada serial port değerleri değişiyor olabilir. Read olunca değeri bir değişkene atayin sonra değişkeni kontrol edin
  • 17-11-2017, 22:13:24
    #5
    Hocam if (veri[0] == hkn) { kısmına debug atar mısın? Eğer split ederken hatalı paraçalama ya da boşluktan dolayı karşılaştırma geçersiz kalıyor olabilir.
  • 17-11-2017, 23:36:20
    #6
    gelen degeri
    int veris = Convert.ToInt32(sonuc);
    aktardım sorun çözüldü teşekkür ederim
  • 17-11-2017, 23:48:20
    #7
    string bir referans tipi oldugu icin == yerine Equals metodu ile karsilastirmani öneririm. Sorununa gelince; muhtemelen dönen sonucta bosluk vs vardir o yüzden

    if (veri[0].Trim().Equals("1"))
    {
    ...

    gibi bir sey calismasi lazim