Şekildeki kodun kullanım amacı

BayramSldr

Üye
Katılım
12 Ocak 2019
Mesajlar
48
Puanları
1
Yaş
23

Arduino Lcd ı2c ile birlikte menü projesi yapmak istedim ve internetten biraz araştırma yaptım. Ve şöyle bir kod buldum. kodu genel olarak kavradım fakat şu while olan yeri anlayamadım normalde while döngüsü oluştururken koşulun sağlanması durumunda altta yazılan kodlar devreye giriyor fakat buradakinin altında kod yok. Tam olarak kullanım amacını kavrayamadım.
 
Yani butona bastığımız zaman değer 1 azalıyor ardından while ile sonsuz döngüye mi giriyor ?
Tuşun basılı haliyle bırakılmış halinin ayrımı için otada bekleme konmuş. Aksi halde tuşa basıldığında kod sürekli basıl halde yspılacak işlemi tekrarlar. Mesela bir sayaç ise tuşa basıldığında sürekli artar, halbuki bu halde tek tek basarak saydırmak mümkün.
 
Yardımınız için teşekkürler anladım.
 
Herhalde düğmeye basılmadığı sürece boş boş bekle demek istemiş.

Ama derleyici en iyileştirme yapıp o bölümü çalıştırmayabilir. En azından 32 bitlik sistemler için öyle diye hatırlıyorum.

Zaten pek güzel bir örnek sayılmaz.

Kaynak kod paylaşımı yaparken, Ekran görüntüsü yerine kaynak kodun kendisini göndermeniz daha iyi olacaktır.

Üst tarafta kod ekleme bölümü var.


Buradan dili de seçersek daha iyi görüntülenecektir.


Örnek olsun diye basit bir C++ kodu ekledim.

C++:
#include "ogrenci.h"

using std::istream;    using std::vector;

bool karsilastir (const Ogrenci & ilk, const Ogrenci & ikinci)
{
    return ilk.isim < ikinci.isim;
}

istream & oku (istream & giris, Ogrenci & ogrenci)
{
    giris >> ogrenci.isim >> ogrenci.arasinav >> ogrenci.sonsinav;
    odevOku(giris, ogrenci.odevler);
    return giris;
}

istream & odevOku (istream & giris, vector<double> & odev)
{
    if (giris)
    {
        odev.clear();
        double girilen;

        while (giris >> girilen)
            odev.push_back(girilen);
        giris.clear();
    }
    return giris;
}
 
Genelde tuş basımı kontrollerinde, basılmada yapılmak istenen işlemin tuş basılı olduğu sürece sürekli tekrarlamaması için bir şekilde kontrol edilmesi gerekiyor. Mesela tuşa basışta bir değişkene bir değer atanıp o değer değilse işlem yaptırılır, tuşu bırakınca da değişkene tekrar ilk değer atanır. Kod biraz zor gelse de uygun, işlevsel kod bu şekilde olur. Kolayı ise böyle birşeyle uğraşmadan tuşa basma yerine tuşu bırakma olayında işlem yaptırılabilir.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…