STM32F107 ile GLCD kullanımı Kütüphane sorunu

Başlatan Mucit23, 23 Ekim 2012, 12:04:52

Mucit23

Arkadaşlar merhaba.
STM32F107 ile grafik LCD yi sürmeye çalışıyorum. Fakat çalıştıramadım birtürlü. Ks0108 kütüphanesi düzgün çalışmıyor. Yazılar çok kalın çıkıyor. Font küçüldükçe hiçbirşey görünmüyor. Dünden beri bu sorunu çözmeye çalışıyorum ama bir arpa boyu ilerleyemedim.
Aynı şekilde  çizgi çizme, Çember çizme veya dikdörtgen çizme fonksiyonlarıda düzgün çalışmıyor. Çizgiler hep kalın çıkıyor anlamış değilim.. Sorun Kesinlikle Ks0108.c dosyasında oradaki fonksiyonlarda yanlış giden birşeyler var.

Grafik LCD bağlantıları aşağıdaki gibi

D0-D7 >>> GPIOD düşük 8 bit
CS1_PIN >>> GPIOE12
CS2_PIN >>> GPIOE13
DI_PIN   >>> GPIOE10   
RW_PIN   >>> GPIOE11   
EN_PIN   >>> GPIOE14 
RST_PIN   >>> GPIOE15

----------------------------------------------------------------------------------

Çalıştırdığımda görüntü aşağıdaki gibi oluyor..


photo upload

Epeyidir uğraşıyorum. Daha artık kına geldi. Yardımcı olursanız gerçekten sevinirim.

pisayisi

http://en.radzio.dxp.pl/ks0108/ks0108-stm32.rar

adresinde ks0108 için stm32 ile derlenmiş bir örnek bulunmakta umarım yardımcı olacaktır...
Murat

Mucit23

#2
Aslında şöyle bir problem var.
Bu Elimde EX33DS deney seti var. O deney seti ile birlikte gelen grafik lcd kütüphanesini kullanıyorum. Yazılımı deney setinde denediğimde problem olmuyor. Kütüphane çalışıyor. Ama aynı kütüphaneyi sadece pinleri değiştirerek bord üzerine kurduğum donanımda test edince olmuyor. Görüntü düzgün çıkmıyor. Tek düzgün çalışan  ks0108_write_byte fonksiyonu. Bu fonksiyon ile istediğim adrese data gönderebiliyorum. Başka bir terslik var. Yeni kütüphaneyle uğraşmak istemiyorum açıkçası. Çünkü deney setinde epeyce bu kütüphane için kod yazdım. Bir yerde basitçe atlanılan birşey var ama nedir onu bulamıyorum.

Çözdüm olayı. Yine Benim Hatam...
Deney kitinde data portd nin yüksek 8 bitinden çıkıyordu. ben bunu düşük 8 bitten çıkması için müdahale etmiştim. Ekrana yazı nasıl yazılıyor diye bakarken pixel fonksiyonunu gördüm. Onu görüncede hemen aklıma GLCD okuma fonksiyonu geldi. Aynı şekilde okuma işlemi yapılırkende datanın düşük 8 bitten alıması gerekirken ben yüksek 8 bitten almaya çalışıyorum. Bunu düzeltince program düzeldi.

muhittin_kaplan

Mucit Kodları Paylaşırsan Sevinirim
32f100rb ile çalışma yapmayı planlıyorum.

diot

http://www.yepyeniprojeler.com burada ks108 ile çalışan uygulama var . fakat stm32f407 ye göre

muhittin_kaplan

ben bu sitenin yapım aşamasında felan olduğunu sanıyordum. meğer resme tıkılamak gerekiyormuş :)

Mucit23

#6
Muhittin abi senin için dosyaları derledim. Kusura bakma biraz geç yazdım. Bilgisayarım karma karışık, heryerden kütüphane dosyaları çıkıyor...  :D
https://hotfile.com/dl/177190527/5eab894/MuhittinAbi.rar.html

GLCD fonksiyonlarını test etmek için birkaç şekil çıkardım..

picture sharing

muhittin_kaplan

sağol mucit. ama şu kütüphane lafı geçince ifrit oluyorum bilmem nedendir :)

Mucit23

Temelimizin basic'e dayandığındandır.  ;D ;D Bendede oluyor. Zamanla geçer... :D

muhittin_kaplan

yavaş yavaş arm yavaş yavaş c. aslında bu kütüphane işi pek zorlamaması gerek beni. çünki dll kullanımı activex kullanımı gibi duurmlardan alışkanlık var pc programlamadan.
neden bilmiyorum hep "bilmediğin birşey var" diye davudi bir ses duyuyor, yaptığım işin eksik olduğu kanısına kapılıyorum.

Mucit23


Mucit23

Arkadaşlar Grafik lcd de yazı felan yazdırıyorum ama değişken yazdırmayı bir türlü beceremedim. Bu için integer dan string dönüşümü yapan bir fonsiyona ihtiyacım var. Elinde olan varsa verebilirmi..

mozkan87


Mucit23

Alıntı yapılan: mozkan87 - 30 Ekim 2012, 13:44:32
sprintf ile kolayca yapabilirsiniz.

Bir örnek gösterebilirmisiniz? C ye pek hakim değilmi.

X-Fi

RTC_GetTime(RTC_Format_BIN, &RTC_TimeStructure);	
		(void)RTC->DR;	
		/* Saati ekrana sptintf ile yazdir */			
		sprintf(ekran,"%0.2d:%0.2d:%0.2d     ", RTC_TimeStructure.RTC_Hours,RTC_TimeStructure.RTC_Minutes,RTC_TimeStructure.RTC_Seconds );
		Lcd_Yaz (Alt1,ekran);



stdio.h'ı tanıtıp ekran[] diye bir dizi açtıktan sonra yukarıdaki örnekteki gibi kullanabilirsiniz. 
http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)