LCD veya GLCD ekranda Temizleme Sorunu

ricetyx

Üye
Katılım
14 May 2009
Mesajlar
142
Puanları
1
Yaş
37
Arkadaşlar Merhaba

Diyelim ki programda sadece bir koşulum var. Basit olarak Buton basılı ise Grafik lcd ekrana Aktif. Değilse Pasif yazsın istiyorum.
Aşağıdaki yaptığım olay aynen çalışıyor. buraya kadar sorunum yok.

if(input(buton)==1)
{
glcd_init(on); // Ekran temizleme için kullanıyorum.
glcd_text57(1,1,aktifyazi,1,on); // Grafik ekranda Aktif Yazıyor.
}
else
{
glcd_init(on); // Ekran temizleme için kullanıyorum.
glcd_text57(1,1,pasifyazi,1,on); // Grafik ekranda Pasif Yazıyor.
}

Sorunum ise şu ;

Grafik ekran glcd_init(on); komutu sayesinde sürekli temizleniyor ve yazı yazıyor. bu durumu nasıl önleyebiliriz ? ... istiyorumki Aktif yazısı yazsın bidaha ekran yenilenmesin.
 
C iyi bilmiyorum ama bu kod initialize komutu ve genelde bu tur komutlar sadece 1 kez yapılır.
Sen ise butona her basıta yaptıryorsun.

O kodu Ana dongunun dısına yaz.
 
Tamam yapıyorum ama bu seferde Yazılar birbirine karışıyor. ekran resetlenmediği için :(
 
Ekranı temizleyen Clear veya CLS diye Diye bir komut olması lazım..
Ama ben genede seni anlamadım

Grafik ekran glcd_init(on); komutu sayesinde sürekli temizleniyor ve yazı yazıyor. bu durumu nasıl önleyebiliriz ? ... istiyorumki Aktif yazısı yazsın bidaha ekran yenilenmesin.

Tamam yapıyorum ama bu seferde Yazılar birbirine karışıyor. ekran resetlenmediği için

2 secenek var ya temizleyeceksin ... yada temizlemeyeceksin..
Temizlemezsen yazıları karısır. cunku il yazdıgın yazının uzerine tekrar yazzıyorsun. karısmaması icin silmen lazım...
Tamamen ekran degilde sadece 1 satırı silmek istiyorsan
glcd_text57(1,1," ",1,on); // Grafik ekranda Aktif Yazıyor.

bosluk yaparsın once o satırı silersin sonra
glcd_text57(1,1,aktifyazi,1,on); // Grafik ekranda Aktif Yazıyor.
yapıp o satıra yazarsin

 
Ekranı temizleyen Clear veya CLS diye Diye bir komut olması lazım..
Ama ben genede seni anlamadım





2 secenek var ya temizleyeceksin ... yada temizlemeyeceksin..
Temizlemezsen yazıları karısır. cunku il yazdıgın yazının uzerine tekrar yazzıyorsun. karısmaması icin silmen lazım...
Tamamen ekran degilde sadece 1 satırı silmek istiyorsan
glcd_text57(1,1," ",1,on); // Grafik ekranda Aktif Yazıyor.

bosluk yaparsın once o satırı silersin sonra
glcd_text57(1,1,aktifyazi,1,on); // Grafik ekranda Aktif Yazıyor.
yapıp o satıra yazarsin



Teşekkür ederim bu farklı bir yöntem
Evet Benim istediğimde aynen sizin tarif ettiğiniz gibi. Temizlersek eğer ekran sürekli refresh yapıyor, kötü görüntü oluyor.

Temizlemeden yani glcd_init(on) kullanmadan yapmak istiyorum. Bunu deniyeceğim..
 
while dögüsü kullanmanı tavsiye ederim yoksa yazı, yazılıp silinir. while(true) şeklinde yaz farklı bişey yazmak istediğinde ise başka bi while kullan veya if.
 
while dögüsü kullanmanı tavsiye ederim yoksa yazı, yazılıp silinir. while(true) şeklinde yaz farklı bişey yazmak istediğinde ise başka bi while kullan veya if.

teşekkür ederim mr_cb23 while döngüsünü nasıl kullanmamı tavsiye edersiniz ? yani ne şekilde
 
Bu şekilde mi yapmamı istiyorsunuz ?

if(input(buton)==1)
{
glcd_init(on)
while(1)
{
glcd_text57(1,1,aktifyazi,1,on); // Grafik ekranda Aktif Yazıyor.
}
}

 
Şöyle yapabilirsin:


Kod:
while(1)
{
     if(input(buton))
     {
          glcd_init(on); 
          glcd_text57(1,1,aktifyazi,1,on);
          while(input(buton));
     }

     else
     {
          glcd_init(on);
          glcd_text57(1,1,pasifyazi,1,on);
          while(!input(buton));
     }
}
 
Şöyle yapabilirsin:


Kod:
while(1)
{
     if(input(buton))
     {
          glcd_init(on); 
          glcd_text57(1,1,aktifyazi,1,on);
          while(input(buton));
     }

     else
     {
          glcd_init(on);
          glcd_text57(1,1,pasifyazi,1,on);
          while(!input(buton));
     }
}


evet çok teşekkür ederim, mr_cb23. arkadaşımızın taktiği ile düşüntüm bu şekilde yaptım bende. proteusta çalıştı. bakalım akşam eve gidince bizzat denicem. %99 olcak gibi . yardım eden herkese teşekkür ederim
 

Forum istatistikleri

Konular
128,184
Mesajlar
915,689
Kullanıcılar
449,955
Son üye
seggzsy

Yeni konular

Geri
Üst