STM32F4x Çalışmalarım

Başlatan Mucit23, 02 Aralık 2013, 00:01:25

Mucit23

Alıntı yapılan: yamak - 04 Aralık 2013, 14:01:19
Hocam neden emwin kullanmıyorsunuz?

Hocam emwin Gui ile birlikte kullanılmıyormu? Yani Tek başına sadece bir kütüphane olarak kullanabilirmiyim(Rtos benzeri bir yapı olmadan) Daha önce hiç uğraşmadım.

Bu konuyu biraz araştırayım. Youtube de birkaç video izledim. Bayağı hoşuma gitti.  :)


SSD1963 ile ilgili şuanda Birtek renklerde sıkıntım kaldı. Nedense Ekrana beyaz renk yolladığım zaman TFT donuyor. Ekrandaki Bilgiler yavaştan kaybolup ekran beyazlamaya başlıyor. Bunu çözemiyorum. Neden Beyazın datasını gönderince ekran donsun? Sabahtan beri registerleri inceliyorum. İlgili birşey bulamadım Fikri olan varmı?

Bunun dışında Text basmada birkaç problem kaldı. Olarda basit gibi görünüyor

yamak

Hocam RTOS olmadan da kullanılabiliyor.

Mnemonic

Merhaba arkadaşlar;
emwini bende zamanında incelemiştim ancak oldukça pahalı
bildiğiniz ücretsiz yada uygun fiyatlı ssd1963 ve xpt2046yı kapsayan grafif gui/library varmı ?

yamak

#33
ST ve NXP ücretsiz olarak sunuyor.İsterseniz aşağıdaki linkteki örnek uygulamayı inceleyebilirsiniz.
http://www.yusufyamak.com/stm32f429i-disco-emwin-uygulamasi/

Mnemonic

cevap için teşekkür ederim
bu uygulama ile sadece f417 içinmi library geliyor yoksa f407 içinde kullanabiliyormuyuz ?

yamak

İstediğiniz stm ile kullanabilirsiniz. Yeterki kulandığınız ekranın driver ı emwin'de mevcut olsun.Normalde emwin ini satın alınca piyasadaki neredeyse tüm lcd driver ları destekliyor fakat ST nin ve NXP nin destekledikleri biraz kısıtlı.Desteklenen driverları daha önce aşağıdaki linkte konuşmuştuk:
https://www.picproje.org/index.php/topic,49785.0.html

Mucit23

Yeminle Kafa Göz dalacam şimdi bu lcd ye >:( Renkler yanlış çıkıyor arkadaş. Kahverengi veriyorum ekranda sarımsı birşeyler çıkıyor. Buna benzer birçok renk düzgün çıkmıyor. Sadece Kırmızı mavi ve yeşil düzgün çıkıyor.

HSYNC ve VSYNC ayarlarını yaptım. Bunlarda sıkıntı yok artık. Birtek Renk problemim kaldı. Bunuda çözemiyorum.

Datasheette Renklerle ilgili iki adet register var.

Bunlar Pixel Data interface(0xF0) ve Pixel Format(0x3A)

Pixel Data interface Registerine 0x03 değerini vermişim. Buda Datasheete göre 16Bit 565 değerine denk geliyor. Bunda sıkıntı olmaması lazım. Renkleride zaten buna gönderiyorum.

Pixel Format Registerine ise 0x50 değerinie verdim. Buda 16 Bit Pixel Format değerine denk geliyor. Bunun dışında renklerle oynayabileceğim bir yer yok. 

İşin ilginç olanı beyaz veya beyaza yakın bir renk datası göndersem SSD1963 donuyor? Buna hiç anlam veremiyorum.


Hata yaptığım bir yermi var takıldım kaldım burada



M_B

@Mucit23 hocam;
SSD1963 datasheet Rev0.20  86 Sayfalık  Dec 2008 dokumanda
sayfa 39 dan 46 ya olan kısmı iyi inceleyin derim.

Set Pixel Format 0x3A adresinde sadece rengin kac bitle iletileceği belirleniyor.
0xB0 ve 0xB1 adreslerini incelemek lazım RGB diziliş şekli mevcut.

Sayfa 40 daki RGB dizilişine göre rengi de bulabilirsin.




İmkanın sınırlarını görmek için imkansızı denemek lazım.                                                             Fatih Sultan Mehmet

Mucit23

Hocam Teker teker registerleri deniyorum şimdi. Renklerde problem kalmadı şuanda. Birtek Beyaz Çıkmıyor. Daha doğrusu beyaz renkte bir pixel basıldığı zaman SSD1963 donuyor?

Renk Kodlarım bunlar. Birkaç Makro kullanıyorum.

#define BLACK               RGB565CONVERT(0,    0,      0)
#define DARKBLUE            RGB565CONVERT(0,    0,      128)
#define DARKGREEN           RGB565CONVERT(0,    128,    0)
#define DARKCYAN            RGB565CONVERT(0,    128,    128)
#define DARKRED             RGB565CONVERT(128,  0,      0)
#define DARKMAGENTA         RGB565CONVERT(128,  0,      128)
#define DARKYELLOW          RGB565CONVERT(128,  128,    0)
#define BLUE                RGB565CONVERT(0,    0,      255)
#define GREEN               RGB565CONVERT(0,    255,    0)
#define CYAN                RGB565CONVERT(0,    255,    255)
#define RED                 RGB565CONVERT(255,  0,      0)
#define MAGENTA             RGB565CONVERT(255,  0,      255)
#define BROWN               RGB565CONVERT(102,  51,    0)
#define LIGHTGRAY           RGB565CONVERT(128,  128,    128)
#define DARKGRAY            RGB565CONVERT(64,   64,     64)
#define LIGHTBLUE           RGB565CONVERT(128,  128,    255)
#define LIGHTGREEN          RGB565CONVERT(128,  255,    128)
#define LIGHTCYAN           RGB565CONVERT(128,  255,    255)
#define LIGHTRED            RGB565CONVERT(255,  128,    128)
#define LIGHTMAGENTA        RGB565CONVERT(255,  128,    255)
#define YELLOW              RGB565CONVERT(255,  255,    0)
#define WHITE               RGB565CONVERT(255,  255,    255)                     
#define GRAY0       	      RGB565CONVERT(224,  224,    224)
#define GRAY1         	    RGB565CONVERT(192,  192,    192)   
#define GRAY2               RGB565CONVERT(160,  160,    160)   
#define GRAY3               RGB565CONVERT(128,  128,    128)
#define GRAY4               RGB565CONVERT(96,   96,     96)
#define GRAY5               RGB565CONVERT(64,   64,     64)
#define GRAY6	              RGB565CONVERT(32,   32,     32)

#define RGB565CONVERT(red, green, blue) (u16) (((red >> 3) << 11) | ((green >> 2) << 5) | (blue >> 3))


Beyaz pixel Basıldığı zaman 16 bit renk datası olarak 65535 gidiyor TFT ye. Renk Sıralaması RGB ama burada Renk sıralamasıda farketmezki, Her türlü beyaz çıkması gerekiyor. Ben beyaz gönderdğim zaman donuyor.

Ne yapacağım bilmiyorum. Bunun neden kaynaklanabileceği hakkında fikri olan varmı?

fgokcegoz

Alıntı yapılan: Mucit23 - 05 Aralık 2013, 13:27:53
Hocam Teker teker registerleri deniyorum şimdi. Renklerde problem kalmadı şuanda. Birtek Beyaz Çıkmıyor. Daha doğrusu beyaz renkte bir pixel basıldığı zaman SSD1963 donuyor?

SSD1289 da da aynı durum mevcut. Beyaz rengi göstermiyor... Bu SSD serisi lcd driver ları hiç beğenmedim doğrusu. Display taraması ILI serisine göre çok kötü. Belkide TFT LCD Modülün camı çok adîdir.. 
"Vicdanın ziyası, ulûm-u diniyedir. Aklın nuru, fünun-u medeniyedir. İkisinin imtizacıyla hakikat tecelli eder." (Bediüzzaman Said Nursi)

Mucit23

Alıntı yapılan: fgokcegoz - 05 Aralık 2013, 21:47:43
SSD1289 da da aynı durum mevcut. Beyaz rengi göstermiyor... Bu SSD serisi lcd driver ları hiç beğenmedim doğrusu. Display taraması ILI serisine göre çok kötü. Belkide TFT LCD Modülün camı çok adîdir.. 

Hiç mantıklı gelmiyor hocam. Beyaz renk basamayan TFT Sürücüsümü olurmuş. Ben hala bir yerlerde hata yaptığımı düşünüyorum. (ki bulamıyorum) Öyleki ileride resim felan basarsam. Tek bir beyaz pixel olsa işlemci donacak. Çözmek gerekiyor bunu

Elinde deneme imkanı olanlar deneyebilirmi? Mehmet Hocam 7" TFT board hala duruyormu beyaz rengi deneyebilirmisiniz?

M_B

Alıntı yapılan: Mucit23 - 05 Aralık 2013, 22:08:54
Hiç mantıklı gelmiyor hocam. Beyaz renk basamayan TFT Sürücüsümü olurmuş. Ben hala bir yerlerde hata yaptığımı düşünüyorum. (ki bulamıyorum) Öyleki ileride resim felan basarsam. Tek bir beyaz pixel olsa işlemci donacak. Çözmek gerekiyor bunu

Elinde deneme imkanı olanlar deneyebilirmi? Mehmet Hocam 7" TFT board hala duruyormu beyaz rengi deneyebilirmisiniz?
Mucit23 hocam;
Yarın inşallah denerim. Şu an yanımda değil. Belki bu sayede tekrar üzerinde calışmaya başlarım. Ara verdim ya bir sogukluk geldi ;)
İmkanın sınırlarını görmek için imkansızı denemek lazım.                                                             Fatih Sultan Mehmet

Mucit23

Hocam Text Basmada sorun kalmadı. Şuanda tek problem beyaz ve beyaza yakın renklerin TFT yi dondurması. Mesela Sarı bile göndersem bazen donduğu oluyor. Buna anlam veremiyorum. İlgili birçok register ile oynadım. Beyaz renk sorununa çözüm bulamadım.

LCD nin kalitesiz olduğu doğru ama beyaz renk çıkmaması lcd ile ilgili olmayacağını düşünüyorum.

fgokcegoz

Alıntı yapılan: Mucit23 - 05 Aralık 2013, 22:08:54
Hiç mantıklı gelmiyor hocam. Beyaz renk basamayan TFT Sürücüsümü olurmuş. Ben hala bir yerlerde hata yaptığımı düşünüyorum. (ki bulamıyorum) Öyleki ileride resim felan basarsam. Tek bir beyaz pixel olsa işlemci donacak. Çözmek gerekiyor bunu

Elinde deneme imkanı olanlar deneyebilirmi? Mehmet Hocam 7" TFT board hala duruyormu beyaz rengi deneyebilirmisiniz?

Beyaz renk basamayan TFT sürücüsü olamaz bencede hocam. Haklısınız. Bir yerde problem olduğu kesin. Büyük ihtimalle piksellere giden analog voltaj değerlerinin konfigürasyonunda problem var. Bir pikselin beyaz renk görünebilmesi için oraya en yüksek voltaj değeri gitmesi gerekiyor galiba. Zaten White = 0xFFFF, Black = 0x0000... Siyahsa voltaj minimum, beyazsa maksimum... Bizim ayarlarda da problem olduğu için taşma gibi birşey oluyor herhalde... Aklıma böyle birşey geliyor ama ne kadar doğrudur bilmiyorum açıkçası :) O yüzden beyaz yerine gri kullanıyorum. Zaten neredeyse beyaz gibi görünüyor...
"Vicdanın ziyası, ulûm-u diniyedir. Aklın nuru, fünun-u medeniyedir. İkisinin imtizacıyla hakikat tecelli eder." (Bediüzzaman Said Nursi)

Mucit23

Aslında banada mantıklı gelmeye başladı. Beyaz pixel demek tüm RGB değerlerinin en yüksek şiddetle yanması demek. Belkide Ekranın tümü beyaz olunca LCD nin enerji tüketimi artıp Besleme voltajında düşüşe neden olup bir şekilde ssd1963'ün çalışmasına engel oluyordur. Gerçi TFT de beyaz pixel enerji tüketimini arttırırmı emin değilim.(Led Olsa neyse) Besleme Voltajı zaten düşük. Tüm kitte 2,85 volt civarı bir gelirim vardı. Bununda  LCD aydınlatmasıyla ilgili olabileceğini düşünüyorum. Fazla akım çekiyor olabilir.