selam arkadaşlar.
sorunum ds18b20 sonsuz döngü içinde okutup glcd yazdırıyorum fakat döngü içinde glcd_init komutunu kullanmazsam sensörün her değer değişimde bir önceki rakamın pikselleri aktif kalıyor dolayısıyla karışıyor,komutu kullandığım zaman ise sürekli ekran tamamen silindiği için silinip yazılma oluyor.daha önce proton kullanıyordum böyle bir sorunla karşılaşmadım.ccs c de acemiyim acaba ekranın bir bölümü sildirilebilirmi yada nasıl bir yol izlemek gerekli
teşekkürler.
sürekli init yapmamalısın
önce main de init yap
sonra sıcaklık oku
ekrana bas
sadece sıcaklık kısmını sil
ekrana bas
şeklinde olmalı.
baran bey çok teşekkür ederim ilginize..tamda sorum buydu sadece sıcaklık kısmını nasıl silebilirim komutları bulamadım.
Kullandığın kütüphaneyi eklersen bir silme fonksiyonu oluşturabiliriz.
komutları net hatırlamıyorum ama benim yöntemim şu şekildeydi;
normalde yazılar siyah zemin beyazdır. bu şekilde silmek istediğimiz bölgedeki kısımları "line" çizme komutu ile beyaz renkte çizgilerle doldurursanız o bölgeyi silmiş olursunuz.
#ifndef GLCD_C
#define GLCD_C
#ifndef GLCD_WIDTH
#define GLCD_WIDTH 128 // Used for text wrapping by glcd_text57 function
Alıntı yapılan: tekosis - 22 Kasım 2015, 23:24:38
komutları net hatırlamıyorum ama benim yöntemim şu şekildeydi;
normalde yazılar siyah zemin beyazdır. bu şekilde silmek istediğimiz bölgedeki kısımları "line" çizme komutu ile beyaz renkte çizgilerle doldurursanız o bölgeyi silmiş olursunuz.
Bu yöntemi uygulayabilirsin.
Bu arada kodlarını foruma eklerken karmaşa olmaması açısından [code*] kodlarburayaeklenir [/code*] yıldızları silerek arasına ekle.
teşekkürler.uyarınıza dikkat edeceğim.
saygılar
glcd_rect(12, 34, 91, 50, YES, OFF);// yazılacak alan temizleniyor
glcd_text57(12, 36, VeriDizisi, 2, ON);// VeriDizisi içeriği yazılıyor
yanıtlarınız teşekkürler..
bu pratik yöntem işe yarıyor ama isis de silma ve yazılma priyodu bariz belli oluyor gerçek uygulamada bu sorun olurmu.