Grafik LCD Üst Üste Yazma Sorunu

immortall

Üye
Katılım
10 Eki 2018
Mesajlar
72
Puanları
1
Yaş
28
Arkadaşlar merhaba projemde grafik lcd kullanıyorum. PİC kodlarını CCS C de yazıyorum. Grafik lcd ekranda üst üste yazma yapıyor. bunu while içine "glcd_fillscreen(OFF)" kodunu yazarak çözmeye çalıştım. Fakat belirli bir zaman sonrasında sürekli ekran yenileniyor. Dolayısıyla kötü duruyor. İnternette biraz araştırma yaptım. Birkaç bir şey buldum da çözüm olmadı. Yardımcı olursanız sevinirim. Teşekkürler.
 
Nasıl yaptınız tam anlayamadım(üst üste yazmak ne demek) ama ben kendi deneyimimi anlatayım.
GLCD de yeni bir resim,harf,rakam göstermek istediginizde,ekranda görünmesini istediginiz şeyin önce kordinatları sonrada datası gönderilir.Tabiki önceden ekranın init yapılmış(gelen bilgilerin hangi formatta,yataymı dikeymi,rgb mi bgr mı,parelelmi serimi,8 bitmi 16 bitmi yoksa 24 bitmi vs) olması gerekir.
Siz hangi koordinata hangi bilgiyi gönderirseniz sadece orada gözüken degişir.yani eski gözükenin yerine yeni gönderdiginiz datalar yazılır.siz öncekinin hiç gözükmemesini istiyorsanız eskisinin üzerini kaplayacak yeni bilgiyi göndermeniz gerekir.
Mesela 12 punto bir yazı yazdınız sonrada üzerine 8 punto yazmaya kalktıgınızda 8 punto 12 puntonun üzerini tam kaplayamadıgından abuk sabuk görüntü çıkar.Bunun için ekranın background görüntüsünü en azından o bölge için refresh edip tekrar üzerine 8 puntoyu yazdırmanız gerekir.
 
Nasıl yaptınız tam anlayamadım(üst üste yazmak ne demek) ama ben kendi deneyimimi anlatayım.
GLCD de yeni bir resim,harf,rakam göstermek istediginizde,ekranda görünmesini istediginiz şeyin önce kordinatları sonrada datası gönderilir.Tabiki önceden ekranın init yapılmış(gelen bilgilerin hangi formatta,yataymı dikeymi,rgb mi bgr mı,parelelmi serimi,8 bitmi 16 bitmi yoksa 24 bitmi vs) olması gerekir.
Siz hangi koordinata hangi bilgiyi gönderirseniz sadece orada gözüken degişir.yani eski gözükenin yerine yeni gönderdiginiz datalar yazılır.siz öncekinin hiç gözükmemesini istiyorsanız eskisinin üzerini kaplayacak yeni bilgiyi göndermeniz gerekir.
Mesela 12 punto bir yazı yazdınız sonrada üzerine 8 punto yazmaya kalktıgınızda 8 punto 12 puntonun üzerini tam kaplayamadıgından abuk sabuk görüntü çıkar.Bunun için ekranın background görüntüsünü en azından o bölge için refresh edip tekrar üzerine 8 puntoyu yazdırmanız gerekir.
Hata şu; mesela batarya voltajı ölçülüyor olsun. İlk olarak sıkıntısız ekrana basıyor. Voltaj değiştiğinde öncekini silmiyor. Üzerine yazıyor. Dolayısıyla karışıklık oluyor. Kullandığım lcd şekildeki gibi.
 

Ekli dosyalar

  • lcd.PNG
    lcd.PNG
    24 KB · Görüntüleme: 8
Yazmadan önce yazılacak alanı kaplayacak şekilde boş birşey (string/karakter) yazdırın.
 
Yazmadan önce yazılacak alanı kaplayacak şekilde boş birşey (string/karakter) yazdırın.
Hocam okunan veriyi yazdırmadan önce ;
sprintf(string, " ");
glcd_text57(1,10,string,1,ON);
şeklinde 2 satır kod yazdım fakat tekrar üzerine yazıyor.
 
Boşluğu veri alanını tamamen örtecek şekilde uzatın. Hatta denemek için boşluk yerine X harfleri doldurarak deneyiniz, gerçekten doğru yerde mi yazıyor?
 
Boşluğu veri alanını tamamen örtecek şekilde uzatın. Hatta denemek için boşluk yerine X harfleri doldurarak deneyiniz, gerçekten doğru yerde mi yazıyor?
Doğru yere yazıyor fakat 13 karakterlik boşluk bırakıp yazdırıyorum. Yine aynı sıkıntı oluyor. Bunun komutu vs yok mu?
 

Forum istatistikleri

Konular
127,956
Mesajlar
913,899
Kullanıcılar
449,606
Son üye
rasit.

Yeni konular

Çevrimiçi üyeler

Geri
Üst