0 beğenilme 0 beğenilmeme
43 kez görüntülendi
STMicroelectronics kategorisinde (1,130 puan) tarafından

Merhabalar,
STM32F103C8 Blue pill modul ile ST7789 chip setli 240x240 IPS ekran uzerinde denemeler yapıyorum. Kullandığım IDE STM32CubeIDE.

Derlediğim kodu Debug la adım adım çalıştırdığımda normal şekilde çalışıyor.
Veya Run main.c ( Play tuşu gibi olan ) ile calıstır dediğimde ise program normal olarak
çalışıyor.

Modulumu PC den cıkarıp taktıgımda ise ekran aktif olmuyor. Ama Program arasına koymuş olduğum devug amaclı Led yanıp sönmekte. Aslında modul while dongusune girmiş ama ekrana herhangi bir şey basmıyor. Inıt olmuyor dur diyede beklemede koydum değişen bir şey olmadı. Bu sorunu nasıl aşabilirim.

Ana dongu programım.

enter code here



int main(void)
{ HALInit();
SystemClock
Config();
MXGPIOInit();
MXSPI1Init(); HALGPIOTogglePin(LedGPIOPort,LedPin);
HAL
Delay(1000);
ST7789Init();
HAL
Delay(1000); while (1)
{
HALGPIOTogglePin(LedGPIOPort,LedPin);
ST7789
FillColor(WHITE);
HAL
Delay(1000);
ST7789WriteString(10, 20, "Test Ekrani", Font11x18, RED, WHITE);
HALDelay(1000);
ST7789
FillColor(WHITE);
ST7789
DrawImage(0, 0, 128, 128, (uint16t *)saber);
HAL
Delay(1000);
ST7789FillColor(WHITE);
HALGPIOTogglePin(LedGPIOPort,LedPin);
HAL
Delay(1000);
ST7789WriteString(10, 100, "Merhaba ICTR", Font16x26, MAGENTA, WHITE);
HAL_Delay(1000);
}
}

<pre/>

2 Cevaplar

1 beğenilme 0 beğenilmeme
(1,130 puan) tarafından
tarafından seçilmiş
 
En İyi Cevap

MXSPI1Init(); //fonksiyonun altına bekleme koyunca düzeldi.
HAL_Delay(1000);

Yapınca normale dondu.

(3,760 puan) tarafından

Yazmak için gelmiştim.
Ekran init edilemeden yeni fonksiyona geçiyordur, diyecektim.

0 beğenilme 0 beğenilmeme
(2,660 puan) tarafından

Ekseri olarak yaptığımız devrelerde power management çipi kullanmıyoruz. Bu sebeple işlemcilerimiz genelde 1.8-2V arasında koşmaya başlıyor lakin dış çipler hazır olmadığı için bazı kartlar çalışıp bazıları patlıyor. Bu sebeple işlemci ayağa kalktıktan sonra 0.5 sn lik bir bekleme her zaman yararlıdır.

...