GLCD kütüphanesinde pin değişikliği ve fast_glcd komutu (HDM64GS12.c)

Başlatan eR2, 30 Ocak 2014, 10:29:01

eR2

Merhabalar,

bir projemde b pinlerini kullandığım için glcd nin birkaç pinini değiştirmek zorunda kaldım, ccs drivers içindeki HDM64GS12.c içinde pinlerde aşağıdaki gibi değişiklik yaptım ama önceki haliyle ekranda yazılar varken şimdi gelmiyor..

deneme amaçlı serdar çiçek hocamızın grafik lcd uygulaması projesini kullandım.. Nerede hata yapıyorum? pinleri değiştirmemin başka yolu varmı?..

düzenleme: reset pini için pin_B3 yerine pin_R3 yazmışım hata buradaymış..

#define fast_glcd komutunun kullanamıyorum, komutu ana programa eklediğim zaman HDM64GS12.c dosyası 10 adet hata veriyor, HDM64GS12.c içinde bir değişiklik yapmam mı gerekiyor?

orjinal kütüphane;

#ifndef HDM64GS12
#define HDM64GS12

#ifndef GLCD_WIDTH
#define GLCD_WIDTH   128
#endif

#ifndef GLCD_CS1
#define GLCD_CS1     PIN_B0   // Chip Selection 1
#endif

#ifndef GLCD_CS2
#define GLCD_CS2     PIN_B1   // Chip Selection 2
#endif

#ifndef GLCD_DI
#define GLCD_DI      PIN_B2   // Data or Instruction input
#endif

#ifndef GLCD_RW
#define GLCD_RW      PIN_B4   // Read/Write
#endif

#ifndef GLCD_E
#define GLCD_E       PIN_B5   // Enable
#endif

#ifndef GLCD_RST
#define GLCD_RST     PIN_C0   // Reset
#endif


buda benim değişiklik yaptığım kütüphane (glcd de görüntü yok)

#ifndef HDM64GS12
#define HDM64GS12

#ifndef GLCD_WIDTH
#define GLCD_WIDTH   128
#endif

#ifndef GLCD_CS1
#define GLCD_CS1     PIN_E2   // Chip Selection 1
#endif

#ifndef GLCD_CS2
#define GLCD_CS2     PIN_A5   // Chip Selection 2
#endif

#ifndef GLCD_DI
#define GLCD_DI      PIN_B2   // Data or Instruction input
#endif

#ifndef GLCD_RW
#define GLCD_RW      PIN_E1   // Read/Write
#endif

#ifndef GLCD_E
#define GLCD_E       PIN_E0   // Enable
#endif

#ifndef GLCD_RST
#define GLCD_RST     PIN_R3   // Reset
#endif


proteus simulasyonları(değişiklik yaptığım ve orjinal hali) ile ccs, hex dosyaları aşaığdadır..

http://www.dosya.tc/server23/4VXBtJ/GrafikLCDUygulamas_.rar.html


MrDarK

grafik lcd dosyasını çağırmadan önce aşağıda vereceğim kodu projene ekle ;

#define FAST_GLCD


Bu kodu #use delay (clock=20000000) un altına yapıştır.
Picproje Eğitim Gönüllüleri ~ MrDarK

eR2

Alıntı yapılan: MrDarK - 30 Ocak 2014, 10:39:03
grafik lcd dosyasını çağırmadan önce aşağıda vereceğim kodu projene ekle ;

#define FAST_GLCD


Bu kodu #use delay (clock=20000000) un altına yapıştır.

kodu ekledim fakat pinleri değiştirdikten sonra main dosyasını compile edince HDM64GS12.c dosyası 11 adet hata veriyor..

edit: reset pini için pin_b3 yerine r3 yazmışım hata buradaymış fakat,
#define fast_glcd
komutunu eklediğimde 10 adet hata veriyor, bu komutu nasıl kullanabilirim?

MrDarK

Verilen hata kısımlarını buraya kopyalayabilir misin ? Birde ricam yaptığın yeni bağlantının proteus'un eski sürümünde kopyalama şansın var mı :)

Herkes yeni version kullanmıyor ona göre bakmak istiyorum
Picproje Eğitim Gönüllüleri ~ MrDarK

eR2

Alıntı yapılan: MrDarK - 30 Ocak 2014, 10:58:00
Verilen hata kısımlarını buraya kopyalayabilir misin ? Birde ricam yaptığın yeni bağlantının proteus'un eski sürümünde kopyalama şansın var mı :)

Herkes yeni version kullanmıyor ona göre bakmak istiyorum

Eski versiyona göre kaydedemedim ama jpeg çıktısı aldım hocam



sorunum 16f877de sanırım fast_glcd komutu çalışmıyor, 18f4520 yapınca düzeldi hocam, yardımınız için çok teşekkür ederim..Data item too big hatası veriyordu..

MrDarK

Peki geçmiş olsun ne diyeyim :) Ama o glcd 20mhzde her biri başka bir pine denk gelecek şekilde 16f877'de de çalışır :)

Ben 74HC ile tüm pinleri değiştirerek bağlamıştım imkansızlıklardan :D
Picproje Eğitim Gönüllüleri ~ MrDarK

sadogan

fast_glcd için 1kbyte rem gerekli.
Lcd nin 2 bankıda 1kbyte reme yazılıp sonra lcd ye yazılıyor.


MrDarK

Alıntı yapılan: sadogan - 30 Ocak 2014, 12:47:42
fast_glcd için 1kbyte rem gerekli.
Lcd nin 2 bankıda 1kbyte reme yazılıp sonra lcd ye yazılıyor.

Hımm o zaman 16f877 20mhz'de GLCD kullanılamaz mı demek istiyorsunuz ?
Picproje Eğitim Gönüllüleri ~ MrDarK

sadogan

Alıntı yapılan: MrDarK - 30 Ocak 2014, 13:37:34
Hımm o zaman 16f877 20mhz'de GLCD kullanılamaz mı demek istiyorsunuz ?
Hayır, böyle bir şey demiyorum.
Fast_glcd modu kullanılmaz diyorum.

freeggCC94

Merhaba, grafik lcd de cs1,cs2,rst pinlerinin yerini değiştirerek pic'in farklı bacaklarında kullanamam durumunda sorun yaratır mı?

RaMu

İlk mesajda verilmiş olan şu kısmımdaki gibi
#ifndef HDM64GS12
#define HDM64GS12

#ifndef GLCD_WIDTH
#define GLCD_WIDTH   128
#endif

#ifndef GLCD_CS1
#define GLCD_CS1     PIN_B0   // Chip Selection 1
#endif

#ifndef GLCD_CS2
#define GLCD_CS2     PIN_B1   // Chip Selection 2
#endif

#ifndef GLCD_DI
#define GLCD_DI      PIN_B2   // Data or Instruction input
#endif

#ifndef GLCD_RW
#define GLCD_RW      PIN_B4   // Read/Write
#endif

#ifndef GLCD_E
#define GLCD_E       PIN_B5   // Enable
#endif

#ifndef GLCD_RST
#define GLCD_RST     PIN_C0   // Reset
#endif


bu pinleri istediğin gibi değiştirebilirsin,
ayrıca data portunuda 8 pini olan bir portla değiştirebilirsin,
(bazı pin ve portlarda ekstra bazı durumlar var ayrıca bakmak lazım)
kısaca kolaylıkla pinleri değiştirebilelim diye yapılmış kütüphane zaten.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html