Grafik LCD de Menü oluşturma ve Ekranda butonlar yapma

Başlatan Mucit23, 03 Haziran 2011, 07:10:21

Klein

Proton bilmiyorumbu yüzden şu komut diyemem.
GLCD_EXTERNAL_PRINT  ifadesinin ilk tanımlandığı yeri bulup inceleyerek belki sorun çözülür.
Aşağıda yazdıklarım tamamen youma dayalı bilgiler.

GLCD_EXTERNAL_PRINT  muhtemelen fonksiyon pointer gibi birşey.  GLCD_EXTERNAL_PRINT = PPRINT ifadesi de
GLCD_EXTERNAL_PRINT  fonksiyon pointerine PPRINT  fonksiyonunun adresini atıyor. 
Eğer durum böyle ise:
GLCD_EXTERNAL_PRINT pointerinin ilk tanımlandığı yerde bir değer almıştır. Budeğer 0 olabilir.
Bu tanım bulunup program içerisinde :

kendi fontunuzu kullanacağınız bölüme geldiğinizde
GLCD_EXTERNAL_PRINT = PPRINT yazıp  kullanırsınız
PROTON fontlarını kullanacağınız zaman GLCD_EXTERNAL_PRINT = ilk tanımlanan değer ;  yzarak proton fontlarına geçiş yapabilirsiniz.

Eğer GLCD_EXTERNAL_PRINT = PPRINT ifadesi
C deki #define ifadesi gibi bir tanımlama ise ( çok sanmıyorum)  o zaman da
C deki #undef  ifadesi gibi tanımı iptal eden bir komut olup olmadığına bakmak gerek.


muhittin_kaplan

kendi oluşturduğun font dosyaları neden işine yaramıyor ? 12 değilde 8 lik yada 6 lık olmuyormu ?
sonuçta orjinal font da bir çeşit inc dosyası. ben yarın deney modülünde deneyeyim.


pcb

Sözünü ettiğiniz problemlerin hepsinin çözümü var, araştırma yapın

Mucit23

Hocam araştırıyorum
Aslında hiçbirşey yapamazsdam kendi oluşturduğum font dosyalarıyla idare edeceğim. Kendi oluşturduğum font dosyaları bir nezlede olsa işimi görüyor. Fakat şöyle bir durum var. Birçok font dosyasıyla denemeler yaptım. Baktımki protonunun kendi font dosyasındaki yazı sitiline en yakın olan Arial_6 oldu. Ama bunda bile harfler çok biçimsiz çıkıyor. Üstelik Kendi oluşturduğum font dosyalarında iki kelime arasına boşluk koyamıyorum. Kendi oluşturduğum font dosyalarında boşluk karakterden sayılmıyor.  Protonun kendi font dosyasında küçük yazılarda çok güzel oluyor. Küçük boyutlu yazılarda kendi oluşturduğum fontları kullanmak istemememin sebebi budur. Şimdilik araştırıyorum. Umarım çözümünü bulurum.

pcb

import ettiğin fontlardaki harfleri en azından kullandıklarını düzelt , kullanmadığın bir karakteri ise tamamen silerek boşalt o karakteri boşluk olarak kullan.

"&" karakteri creator da tamamen sil öyle kaydet , kullanırken ise print at 10,100, "pic&proje" gibi yaz "pic proje" olarak ekranda çıkar.
Import edilen karakterler hemen kullanılacak görüntüde olmayabilir.
eğer hala 20Mhz kullanıp PLL yapıyorsan ve glcd de ki problemi verilen gecikme koduyla halletim diye düşünüyorsan yanılıyorsun , bir kaç iç içe döngüde sürekli olmadan sorun çıkartacaktır
Ben sürekli pprint kodlarıyla çalışıyorum.

Mucit23

Hocam Pll kullanmıyorum ozaman sadece deneme amaçlı aktif etmiştim. Zaten geçikme koyduktan sonra hızdan kaynaklanan problemler ortadan kalktı. Boşluk bırakma işinide anladım. Onu hallederim. En çok kullandığım karakterleri düzeltmek için Yardımcı bir programa ihtiyacım var. Yani dataları elde edebileceğim. 8x8 matrix veya 5x7 matrix olabilir. Bu karakter lcd ler için yapılmış programlar var. Onlarla oluşturduğum dataları kullanabilirmiyim. Arial_6 nın dataları gerçekten farklı. Her harf max. kaç satır ve sütündan oluşuyor bilmek lazım

Yanlız ben hala İki font dosyasını nasıl bir arada kulllanacağımı anlamadım. Bu sorunların çözümü var demişsiniz. Bana bir ipucu verebilirmisiniz.

Mucit23

Alıntı yapılan: pcb - 08 Haziran 2011, 13:47:13
import ettiğin fontlardaki harfleri en azından kullandıklarını düzelt , kullanmadığın bir karakteri ise tamamen silerek boşalt o karakteri boşluk olarak kullan.

"&" karakteri creator da tamamen sil öyle kaydet , kullanırken ise print at 10,100, "pic&proje" gibi yaz "pic proje" olarak ekranda çıkar.
Import edilen karakterler hemen kullanılacak görüntüde olmayabilir.
eğer hala 20Mhz kullanıp PLL yapıyorsan ve glcd de ki problemi verilen gecikme koduyla halletim diye düşünüyorsan yanılıyorsun , bir kaç iç içe döngüde sürekli olmadan sorun çıkartacaktır
Ben sürekli pprint kodlarıyla çalışıyorum.

Hocam Birazcık araştırmay yaptım. Ama istediğim bilgiye ulaşmakta zorlanıyorum. Protonun kendi font dosyasıyla kendi oluşturduğum font dosyasını bir arada kullanmaya çalışıyorum. Bu mümkün demişsiniz. Nasıl yapacağımı bilmiyorum. Bana bir yol gösterebilirmisiniz. Nereleri incelemeliyim..

Mucit23

Arkadaşlar kimsenin fikri yokmu :(
Herşey deneme yanılma yöntemine döndü.. Bundan nefret ediyorum

Maxim


Mucit23

Çalışmayan program yok aslında yani hem protonun kendi font dosyasını kullanarak, hemde benim oluşturduğum font dosyaları ile ekrana yazı yazabiliyorum. Sorun iki font dosyasını birlikte kullanamayışımda.

Sorun bu komutta
GLCD_EXTERNAL_PRINT = PPRINT
Bu komutu ekleyince kendi oluşturduğum font dosyalarını kullanabiliyorum ama protonun kendi font dosyasını kullanarak yazı yazmaya çalıştığımda glcd saçmalıyor..

Bu komutu kaldırırsam protonun kendi font dosyası doğru düzgün çalışıyor ama kendi font dosyalarımla yazı yazdığımda ekranda yazı çıkmıyor. Bu iki font dosyasını  bir arada kullanabilirsem çoğu sıkıntılarım çözülecek. Çünkü kendi oluşturduğum font dosyasındaki karakterleri teker teker düzenlemek istediğim şekle sokmak gerçekten çok büyük sabır ve kafa istiyor. Zor bir iş. Çin işkencesi gibi. Gerçi epeyce düzenledim ama daha çok var....

Yukarıda bazı arkadaşlar bunun çözümü var demiş. Bunun çözümünü öğrenmek istiyorum.

muhittin_kaplan

mucit fontconvertor tarzı programlar var. muhtelemen biliyorsundur. yanlız 8 lik yada 6 lık bilemeyeceğim bir font neden işine yaramıyor anlamıyorum. 2 adet font dosyasını yani biri büyük font diğeri küçük font olarak kullanabilirsin.
bahse konu PPRINT pixelprint anlamındadır bu komutu yazarsan aslında img basar gibi font basar. buda diğer standart font ile olmaz.

Mucit23

Anladım hocam. Font converter programını biliyorum çok çeşitli fıontlar oluşturdum.  Kendi oluşturduğum fontlarda küçük yazılar hiçde istediğim gibi çıkmıyor. Birçok fontta denedim hepsi aynı. Bu fontları kendim istediğim gibi düzenlemem mümkün ama bu çok zahmetli bir iş gerçekten beni yoruyor. Başka çözüm önerisi olan arkadaş varsa dinlemeye hazırım ama galiba bu işin çözümü yok. Yada var biz bilmiyorum. Ben birazdaha yabancı proton sitelerine bakayım. Hocam sizin verdiğiniz linkte bununla ilgili bişeylerden bahsetmiş ama tam olarak anlayamadım. Oradaki asıl konu nedir

muhittin_kaplan

Alıntı YapThat's the story, but what about the code and how do you use it.
GLCD_EXTERNAL_PRINT = PPRINT
By issuing this command the compiler disables its own print routines and loads in the code stored in PPRINT.INC (which can be found in you INC folder)

PPRINT adında bir dosya yardımıyla bu farklı fontları kullandığımızı söylüyor. ve print rutinleri kapattığını belirtiyor. bu pprint dosyasının yerini belirtiyor

Mucit23

#44
Evet istediğimde print ve pprint fonksiyonlarını açıp kapatabilsem olabilir aslında Pprint dosyasının yerine koyabileceğim başk bir dosya yok.