Nastavení pinů pro ILI9341

hafca
Příspěvky: 86
Registrován: 23 říj 2017, 23:05
Reputation: 0

Nastavení pinů pro ILI9341

Příspěvek od hafca » 29 říj 2023, 15:15

V programu je soubor Settings.h, kde ja nastavení pinů pro displej
#define TFT_MISO 19
#define TFT_MOSI 23
#define TFT_SCLK 18
#define TFT_CS 15 // Chip select control pin
#define TFT_DC 2 // Data Command control pin
#define TFT_RST 4 // Reset pin (could connect to RST pin)
Zapojení na piny ESP32 Dev a displej je správně, ale displej jenom svítí.
Když se podívám do knihovny TFT_eSPI kde je soubor User_Setup.h, je v něm jiné zapojení pinů.
#define TFT_MISO 19
#define TFT_MOSI 23
#define TFT_SCLK 18
#define TFT_CS 5 // Chip select control pin
#define TFT_DC 4 // Data Command control pin
#define TFT_RST 22 // Reset pin (could connect to RST pin)
//#define TFT_RST -1 // Set TFT_RST to -1 if display RESET is connected to ESP32 board RST
Jak to vlastně má být? Obě definice stejně, nebo je to jedno? A když to jedno není, jak má být správné zapojení displeje?
Trápím to už třetí den, zkusil jsem všechny kombinace, ale bez výsledku. Mohl by mě někdo popostrčit?

Uživatelský avatar
SkullKeep
Příspěvky: 291
Registrován: 23 srp 2017, 18:51
Reputation: 0
Bydliště: Brno
Kontaktovat uživatele:

Re: Nastavení pinů pro ILI9341

Příspěvek od SkullKeep » 29 říj 2023, 15:41

spíš se mrkni, který soubor s příponou *.h používá jestli setting.h nebo user_setup.h. abys věděl na ktere piny se hlásí .
:twisted: :?: :arrow: :geek: P. Q. M.

hafca
Příspěvky: 86
Registrován: 23 říj 2017, 23:05
Reputation: 0

Re: Nastavení pinů pro ILI9341

Příspěvek od hafca » 29 říj 2023, 15:51

Můžeš mi to trochu objasnit? Hledal jsem ve všech souborech co k tomu patří, ale nenašel.

Uživatelský avatar
SkullKeep
Příspěvky: 291
Registrován: 23 srp 2017, 18:51
Reputation: 0
Bydliště: Brno
Kontaktovat uživatele:

Re: Nastavení pinů pro ILI9341

Příspěvek od SkullKeep » 29 říj 2023, 18:03

Většinou to bývá v záhlavý souboru pro danou knihovnu.
:twisted: :?: :arrow: :geek: P. Q. M.

peterple
Příspěvky: 156
Registrován: 22 zář 2021, 20:20
Reputation: 0

Re: Nastavení pinů pro ILI9341

Příspěvek od peterple » 29 říj 2023, 20:21

Prejdi si súbory tvojho projektu. Začni tým ktorý kompiluješ. Hľadaj

Kód: Vybrat vše

#include <xxx.h>
alebo
#include "xxx.h"
kde xxx sú tie tvoje mená konfiguračných súborov.

Podľa toho poznáš ktorý hlavičkový súbor sa v tvojom projekte používa.
Odpovede na otázky.
Definície nemusia byť rovnaké. A nie je to jedno. Sú to textové makrá ktoré sa v celom programe nahradia za tie číselká. Tým sa dosiahne že si môžeš nastaviť ako to máš pripojené.
Pozor dokonca sa to môže aj predefinovať ak to máš napísané v chybnom poradí.

Otázka je ako to skúšaš? Meníš pripojenie displeja, alebo len prepisuješ tie súbory. Ak len prepisuješ súbory celkom dobre sa môže stať že prepisuješ tie ktoré sa vôbec nepoužívajú.

V takom prípade sa hľadá čo naozaj platí. Napríklad tak že si tie hodnoty vypíšem na seriovú linku.

hafca
Příspěvky: 86
Registrován: 23 říj 2017, 23:05
Reputation: 0

Re: Nastavení pinů pro ILI9341

Příspěvek od hafca » 29 říj 2023, 20:29

V souboru, který kompiluji je
#include "settings.h"
Jestli to dobře chápu, tak bych měl propojit piny, tak jak je v něm napsáno? Bez ohledu na to, co je v TFT_eSPI?

Uživatelský avatar
SkullKeep
Příspěvky: 291
Registrován: 23 srp 2017, 18:51
Reputation: 0
Bydliště: Brno
Kontaktovat uživatele:

Re: Nastavení pinů pro ILI9341

Příspěvek od SkullKeep » 29 říj 2023, 21:02

Bylo by lepší zjistit jaký typ *.h souboru tam je a podle toho pak zapojit PINY.
:twisted: :?: :arrow: :geek: P. Q. M.

hafca
Příspěvky: 86
Registrován: 23 říj 2017, 23:05
Reputation: 0

Re: Nastavení pinů pro ILI9341

Příspěvek od hafca » 29 říj 2023, 21:08

Sketch má u sebe mimo jiné i soubor settings.h. Takže předpokládám, že se budu řídit jeho obsahem.

peterple
Příspěvky: 156
Registrován: 22 zář 2021, 20:20
Reputation: 0

Re: Nastavení pinů pro ILI9341

Příspěvek od peterple » 29 říj 2023, 23:04

To nie je také jednoduché povedať.
Ak máš v hlavnom súbore projektu

Kód: Vybrat vše

#include "settings.h"
Tak vieme na betón že tento súbor sa na tomto mieste vloží do tohoto súboru pri preklade. A to je tak všetko. Či je to ale na vhodnom mieste alebo či sa za tým nevloží niečo iného nevieme.

Ak totiž máš najprv vložené hlavičky pre tú knižnicu tak tá knižnica nenájde tvoje definície môže použiť svoje a tie čo tam dáš potom sa už neuplania.

Skrátka a dobre. Treba rozumieť tomu čo include robí ako a prečo. A napríklad aj tomu že to include môže byť niekoľkokrát vnorené. Potom treba vedieť pre koho sa tie mená definujú a kedy sa ten niekto kompiluje do projektu.

Aj keď tvrdíš že si skúšal všetky možnosti a nefungovalo to ani s jednou. Lenže urobiť tam chybu je veľmi ľahké, stači jeden blbo popísaný signál a už to nemôže fungovať.

Pri takýchto problémoch s radosťou používam logický analyzátor a z toho ako vyzerá komunikácia si viem odvodiť či je signál správny alebo nie (aj keď nie všetky sa tak dajú zbadať na prvý pohľad). Lenže to je už asi iný level debuggingu.

Tak to skúsme čo najjednoduchšie - bez include

skús to takto ako je to v tomto príklade
https://techtutorialsx.com/2021/01/31/e ... llo-world/

Kód: Vybrat vše

#include <Arduino_GFX_Library.h>
 
#define TFT_SCK    18
#define TFT_MOSI   23
#define TFT_MISO   19
#define TFT_CS     22
#define TFT_DC     21
#define TFT_RESET  17
 
void setup(void)
{
 
 //teraz tuto na beton vieme ake je kde číslo
  Arduino_ESP32SPI bus = Arduino_ESP32SPI(TFT_DC, TFT_CS, TFT_SCK, TFT_MOSI, TFT_MISO);	//a tuto ich použijeme
  Arduino_ILI9341 display = Arduino_ILI9341(&bus, TFT_RESET);
 
  display.begin();
  display.fillScreen(WHITE);
  display.setCursor(20, 20);
  display.setTextSize(2);
  display.setTextColor(BLUE);
  display.print("Hello world");
}
 
void loop() {}

hafca
Příspěvky: 86
Registrován: 23 říj 2017, 23:05
Reputation: 0

Re: Nastavení pinů pro ILI9341

Příspěvek od hafca » 30 říj 2023, 10:16

Zkusil jsem to demo. Nechal jsem ale zadrátovaný displej, tak jak jsem ho měl. V demu jsem přepsal piny aby odpovídaly zapojení a fungovalo to.
Autor má obrázek, kde je namalované zapojení displeje. Piny odpovídají tomu co je v knihovně TFT_eSPI v souboru User_Setup.h.
Ještě mi napadá jedna věc. Demo nešlo zkompilovat, protože používám verzi desek ESP32 1.0.6. S novější verzí 2.0.11 šlo zkompilovat demo, ale zase nejde zkompilovat ten program. Ale když to projde kompilací, tak by to snad mělo být jedno.

Omluvte moje možná divné úvahy nebo dotazy. Jak říkají vnuci, mám už několikrát přetočený tachometr a ještě k tomu jsem začátečník.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 41 hostů