Skocz do zawartości

STM32 - LCD 1,8 lcd TFT ST7735 brak reakcji


Pomocna odpowiedź

Napisano

Witam
Mam problem z stm32 bluepill i wyświetlaczem TFT ST7735 1,8″ z Arduino, za żadne skarby nie chce działać.
Próbowałem na podstawie tutoriala z https://www.electronics-lab.com/project/programming-stm32-based-boards-arduino-ide/
Niestety biblioteki nie działają:(
Czy ktoś mógłby mi pomóc zmusić ten wyświetlacz do działania?
Czy ktoś ma sprawdzoną działającą bibliotekę z jakimkolwiek przykładem? Zwykłe "hello world" i dalej sobie poradzę.

@therion witam na forum 🙂 Dla formalności: jak rozumiem problem dotyczy programu pisanego na STM32 w "języku" Arduino, tak? Co dokładnie oznacza, że biblioteki nie działają? Kod się nie kompiluje, są jakieś błędy lub ostrzeżenia?

Tak, jestem bardziej majsterkowiczem i modelarzem, arduino mnie zainteresowało przez prostotę i spore możliwości jakie daje dla majsterkowicza.
Posługuję się arduino IDE do programowania. 
Kod się czasem kompiluje, zależy jakie biblioteki staram się użyć. Trochę ich już instalowałem i się zakręciłem:( Często mam błąd kompilacji dla płytki...

Chciałbym użyć np takiego kodu:
 

#include <Adafruit_GFX_AS.h> 
#include "Adafruit_ST7735.h" 

#define cs     PA2
#define rst    PA4 
#define dc     PA3
Adafruit_ST7735 tft = Adafruit_ST7735(cs, dc, rst);

void setup() 
{
 tft.setTextSize(1);
 tft.setCursor (1,1);
 tft.print("TEST SETUP");
 delay(500);
}

void loop() 
{
 tft.setCursor (1,1);
 tft.print("TEST LOOP");
}

Przy kodzie jak powyżej wyskakuje błąd : "Błąd kompilacji dla płytki Generic STM32F103C series."
Szukam po prostu NAJPROSTSZEGO możliwego kodu do wyświetlenia tekstu. Dalej sobie poradzę, a przynajmniej mam nadzieję.




 

13 godzin temu, therion napisał:

Tak, jestem bardziej majsterkowiczem i modelarzem, arduino mnie zainteresowało przez prostotę i spore możliwości jakie daje dla majsterkowicza.

@therion podpowiedź dostałeś wyżej, więc tylko się upewnię - jeśli tylko majsterkujesz i chcesz działać w języku Arduino to na pewno świadomie wybrałeś STM32? To raczej nie jest wybitnie popularne (STM-y programuje się jednak najczęściej "normalnie" bez Arduino). Jeśli przypadkiem trafiłeś na te płytki to możesz mieć przez to trochę problemów. Zdecydowanie więcej gotowych projektów i przykładów znajdziesz na różne popularne płytki Arduino (UNO, Nano itd).

(edytowany)

Z arduino eksperymentuję od jakiegoś czasu i stm32 chcę wypróbować jako lepsza szybsza wersję, potrzebna mi właściwie do jednego projektu.

Szymonnw przerobienie na arduino tego z https://controllerstech.com/st7735-1-8-tft-display-with-stm32/ jest dla mnie chyba za bardzo skomplikowane:(.

Potrzebuję ekranu i modułu nrf24, drugi mikrokontroler wysyła pozycję gps i kilka innych danych.
Kiedyś z arduino mi to wyszło, nawet na przycisk zapamiętywało pozycje gps, w eepromie, ale chciałbym to mieć na STM32.

Udało mi się osiągnąć dziwną rzecz. Kompiluje się, wgrywa, ale ekran miga, jest czarny i mam białe krótkie błyski.
Czas czarnego ekranu mogę regulować za pomocą delay na końcu kodu w pętli loop. Biały błysk jest zawsze krótki.
Coś nie tak z tym kodem? bo już zaczynam się zastanawiać czy ekran jest ok:(

 


// ST7735 128x160 1.8" LCD pinout (header at the top, from left):
// #1 LED   -> 3.3V
// #2 SCK   -> SCL/D13/PA5
 //#3 SDA   -> MOSI/D11/PA7
// #4 A0/DC -> D8/PA1  or any digital
// #5 RESET -> D9/PA0  or any digital
// #6 CS    -> D10/PA2 or any digital
// #7 GND   -> GND
// #8 VCC   -> 3.3V

#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Arduino_ST7789_STM.h>

#define TFT_SCK   PA5
#define TFT_SDA   PA7
#define TFT_DC    PA1
#define TFT_RST   PA0
#define TFT_CS    PA2

Arduino_ST7789 lcd = Arduino_ST7789(TFT_DC, TFT_RST);
#define SCR_WD   128
#define SCR_HT   160

void setup() 
{
  Serial.begin(9600);
  lcd.init();
  lcd.fillScreen(BLUE);
  lcd.setCursor(1, 1);
  lcd.setTextColor(WHITE);
  lcd.setTextSize(3);
  lcd.println("HELLO WORLD");
  delay(1000);
}

void loop()
{
lcd.setTextColor(WHITE,BLUE);
lcd.setTextSize(3);lcd.setCursor(3,3); lcd.print("txt");
delay(500);
}

Wgrałem kod z tego przykładu:


Kompiluje się, wgrywa, ale ekran tylko miga, raz biały raz czarny i tyle:(

 

Edytowano przez therion
bład posta

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...