31 Mart 2023 Cuma

STM32F7 TOUCHGFX Slider dan geleni main.c de kullanmak


https://www.youtube.com/watch?v=fzNEZIi2Gb0&list=PLnMKNibPkDnGCh1M8IOCjtnJHbg9UNiMW&index=19

https://www.youtube.com/watch?v=RJlwEMCTgsM&list=PLfIJKC1ud8giOsk-C4BCOwSHtbXqTNb1W&index=8

https://www.youtube.com/watch?v=SYdyJBehcYY


1-)Ekranda tasarımında isimlendirdiğin slider virtual functionı 

"Screen1View.cpp

dosyasında oluştur(override&implement). 



"Screen1View.hpp

dosyasına prototipini kopyala.



2-)

"Screen1Presenter.cpp

dosyasında oluştur(override&implement). 



"Screen1Presenter.hpp

dosyasına prototipini kopyala.


3-)

"Model.cpp"


 

"Model.hpp"


24 Mart 2023 Cuma

STM32F7 TOUCHGFX Task

 

1-)TouchGFX ekran tasarımına "gauge" ve "animated image" nesneleri ekle.

2-)

a-)CubeMX tarafında PI11 i giriş olarak seç. Buton buraya bağlı çünkü. Ayarlarından pull-down yap.


b-)CubeMX tarafında ADC3 IN0 pinini analog giriş seç. "Continuous Conversion Mode" ve "DMA Continuous Request" seçeneklerini "Enabled" olarak işaretle. Sampling Time ı en yavaş "480" cycles olarak işaretle. "DMA settings" ten seçtiğimiz analog okumayı ekle. "DMA Mode" u "circular" olarak değiştir.





3-)CubeMX aç. "Middleware->FreeRTOS->Tasks and Queues" bölümünden 
a-)Tasks alt bölümünden "Add" tuşuna basarak "Görev(task)" leri oluştur.





a-)Queues alt bölümünden "Add" tuşuna basarak "Görev(task)" leri oluştur.


CubeMX işlemlerini kaydet. Kod ekranına geç.

4-)Main.c de değişkenleri tanımla (Prototipler otomatik tanımlanıyor)

5-)Main.c taskların içinde kendi kodunu yaz


6-)Model.cpp


7-)Model.hpp




8-)ModelListener.hpp



9-)Screen1Presenter.hpp


10-)Screen1Presenter.cpp




11-)Screen1View.cpp




12-)Screen1View.hpp


Kaynak



23 Mart 2023 Perşembe

STM32F7 TOUCHGFX Tick() Donanımsal Buton

 

1-) TouchGFX te, sayfaya "lightON" ve "lightOFF" diye 2 tane resim ekle.


2-)Screen1View.cpp dosyasına "void Screen1View::setLight(bool state)" fonksiyonunu ekle.



3-)Screen1View.hpp dosyasına "void setLight(bool state)" başlığını ekle.



4-)Screen1Presenter.cpp dosyasına "Screen1Presenter::setLight(bool state)" fonksiyonunu ekle



5-)Screen1Presenter.hpp dosyasına "virtual void setLight(bool state)" başlığını ekle.



5-)Model.cpp dosyasında Tick() fonksiyonuna aşağıdaki komutları ekle.


6-)Model.hpp dosyasına "Button_State" değişkenini tanımla.


7-)ModelListener.hpp dosyasına "virtual void setLight(bool state){};" başlığını ekle




STM32F7 Timer

 

Timer clock frekansı 108MHz



10KHz frekanslı kare dalga üretmek için değerler: