logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

STM32H750VBT6 LTDC w CubeIDE: tylko RGB666/RGB565 zamiast 8 trybów?

gregor124 12 Maj 2026 15:21 294 8
REKLAMA
  • #1 21901607
    gregor124
    Poziom 29  
    Posty: 1706
    Pomógł: 101
    Ocena: 885
    Mam zainstalowane STM32CubeIDE. Głównie programuję w assemblerze i z tego całego CubeIDE korzystam rzadko, właściwie tylko aby mieć łatwy podgląd do ustawień rejestrów i czasami aby mieć podgląd, czy jakimś ustawieniem częstotliwości nie przekraczam zaleceń.
    W każdym razie dziś postanowiłem powalczyć z ustawieniami sterownika LCD-TFT w układzie STM32H750VBT6 opartego o LTDC.
    Zawsze korzystałem w tym celu z załączonego pliku data i w zasadzie nigdy mnie nie zawiódł. Aż do dzisiaj, a właściwie zastanawiam się, co jest nie tak.
    Otóż wybrałem sobie w STM32CubeIDE mój układ, czyli STM32H750VBT6, i o dziwo w ustawieniach LTDC mam dostępne tylko 2 tryby wyświetlania, tj. RGB666 i RGB565,
    podczas gdy we wszystkich dokumentacjach, jakie udało mi się znaleźć na stronie ST, jest tych trybów 8.
    Od razu przyznam, że nigdzie nie udało mi się znaleźć żadnego dokumentu dotyczącego bezpośrednio układu STM32H750VBT6, jedyne, co znalazłem na ich stronie, to ogólne dokumenty opisu STM32H750 Value line czy STM32H750VB.

    Zastanawiam się, czy problem dotyczy środowiska IDE i ono w jakiś sposób ogranicza możliwości tego układu, czy po prostu nie umiem znaleźć na ich stronie właściwego dokumentu.
    W każdym razie zamierzam sprawdzić w asemblerze, czy dodatkowe tryby da się uruchomić na danym układzie.

    STM32H750VBT6 LTDC w CubeIDE: tylko RGB666/RGB565 zamiast 8 trybów?
    Załączniki:
    • rm0433-stm32h742-stm32h743753-and-stm32h750-value-line-advanced-arm-based-32-bit-mcus-stmicroelectronics-en.pdf (38.83 MB) Musisz być zalogowany, aby pobrać ten załącznik.
    • an5312-migration-from-revy-to-revv-for-stm32h743753-and-stm32h750-value-line-microcontrollers-stmicroelectronics.pdf (334.43 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • an4861-introduction-to-lcdtft-display-controller-ltdc-on-stm32-mcus-stmicroelectronics.pdf (4.02 MB) Musisz być zalogowany, aby pobrać ten załącznik.
    Pomogłem? Kup mi kawę.
  • REKLAMA
  • #2 21901612
    oscil1
    Poziom 24  
    Posty: 677
    Pomógł: 50
    Ocena: 184
    gregor124 napisał:
    Otóż wybrałem sobie w STM32CubeIDE mój układ, czyli STM32H750VBT6, i o dziwo w ustawieniach LTDC mam dostępne tylko 2 tryby wyświetlania, tj. RGB666 i RGB565,


    No bo te 8 to nie jest jak wyświetlacz jest podłaczony (a raczej jak odbiera dane na tej magistrali równoległej) tylko jak dane są przechowywane w buforze :) Widziełeś kiedyś wyświeltacze "L8 (8-bit luminance or CLUT)"

    W buforze przechowujesz dane w różnych warstwach w tych właśnie 8 formatach a to peryferium je potrafi łaczyć, przkształcać etc i na koniec wypluć do wyświtlacza w tych właśnie 2 formatach fizycznych.

    Oczywiście, aby skorzystać z tych dobrodziejstw, musisz mieć odpowiednio dużo pamięci (co w praktyce oznacza, że musisz mieć pamięć zewnętrzną).

    Są oczywiście takie MCU ST, które mają taką pamięć wbudowaną - np seria U5 albo N6(4.2MB)


    STM32H750VBT6 LTDC w CubeIDE: tylko RGB666/RGB565 zamiast 8 trybów?

    Dodano po 1 [godziny] 1 [minuty]:


    gregor124 napisał:
    Od razu przyznam, że nigdzie nie udało mi się znaleźć żadnego dokumentu dotyczącego bezpośrednio układu STM32H750VBT6

    Nie jest potrzebny, bo wszystko jest RM, a róznice są zaznaczone.

    gregor124 napisał:
    Zastanawiam się, czy problem dotyczy środowiska IDE i ono w jakiś sposób ogranicza możliwości tego układu, czy po prostu nie umiem znaleźć na ich stronie właściwego dokumentu.

    Raczej nie umiesz czytać ze zrozumieniem albo raczej całkowicie nie rozumiesz, o co w tym wszystkim chodzi.
    gregor124 napisał:
    W każdym razie zamierzam sprawdzić w asemblerze, czy dodatkowe tryby da się uruchomić na danym układzie.

    Oh wiara we wszechmocny asembler ROTFL, Najpierw zrozum jak działa układ, a potem dopiero programuj w asemblerze (co samo w sobie jest nonsensem).
  • REKLAMA
  • #3 21901698
    gregor124
    Poziom 29  
    Posty: 1706
    Pomógł: 101
    Ocena: 885
    Dobra, chyba się rozjaśniło.
    Wygląda, że "display Type" dotyczy fizycznego interfejsu, specjalnie ograniczonego w tym IDE, co wyjaśnię później.

    Te tryby, o które pytałem, to tak naprawdę różne sposoby reprezentacji danych w pamięci RAM, które w układzie są tłumaczone na interfejs 4x8 bitów.
    Przy rozdzielczości 320x200 właściwie każdy tryb bez problemu zmieści się w pamięci dostępnej w układzie.

    A teraz trochę cytatów z załączonej dokumentacji:
    "The LTDC can output data according to the following parallel formats: RGB565, RGB666, and RGB888.
    So, 16-bit RGB565, 18-bit RGB666 or 24-bit RGB888 display can be connected."
    Z kolei data sheet STW32h750VB.
    "The LCD-TFT display controller provides a 24-bit parallel digital RGB (Red, Green, Blue)
    and delivers all signals to interface directly to a broad range of LCD and TFT panels up to
    XGA (1024x768) resolution with the following features"

    W każdym razie chyba znalazłem to, czego potrzebuję.
    Wygląda, że w każdym układzie z tej serii fizyczny interfejs zewnętrzny składa się z 24 bitów po 8 dla każdego z 3 kolorów. RGB.
    Ale ze względu na ograniczenia w ilości wyprowadzeń nie wszystkie bity są wyprowadzone.
    Okazuje się jednak, że w przypadku mniejszej ilości wyprowadzeń przynajmniej teoretycznie mogę w assemblerze do jednego wyprowadzenia podłączyć jeden z kilku bitów koloru.
    Co ciekawe, wygląda, że można używać mniej bitów niż jest w interfejsie, a nieużywane mogą być zastosowane w innym celu.
    A jeszcze ciekawiej, że wygląda, że mogę przynajmniej w kodzie maszynowym wyprowadzić więcej bitów dla danego koloru.
    Np. w trybie RGB666 normalnie dostępne są bity R7..R1, G7..G2, B7..B2.
    Ale okazuje się, że bity G1 są dostępne na pinie 34 w obudowie LQFP100, G0 (35), B1 (69). B0 i R0 nie są widocznie dostępne w tej obudowie.
    Trzeba będzie się z tym pobawić w wolnej chwili.;).
    Czyli wygląda, że wprowadzono ograniczenia z powodu niedostępności wszystkich bitów w danej obudowie, choć wygląda, że i tak jest możliwość uzyskania większej liczby kolorów, choć to wymaga stworzenia swojego formatu.

    W niektórych obudowach na pinie PG10 są dostępne zamiennie bity kolorów B2 i G3, czyli teoretycznie można by ukryć jakiś obrazek na tych bitach i odpowiednio maskując wyprowadzenia móc podejrzeć taki ukryty obraz w obrazie ;).
    Pomogłem? Kup mi kawę.
  • REKLAMA
  • #4 21901747
    oscil1
    Poziom 24  
    Posty: 677
    Pomógł: 50
    Ocena: 184
    gregor124 napisał:
    A jeszcze ciekawiej, że wygląda, że mogę przynajmniej w kodzie maszynowym wyprowadzić więcej bitów dla danego koloru.
    Np. w trybie RGB666 normalnie dostępne są bity R7..R1, G7..G2, B7..B2.


    To wyraźnie błąd w logice tej paczki dla CubeMX. Po prostu sobie ustaw te bity jako alternate z odpowiednim numerkiem, aby to działało. Ważne jest to, co mówi dokumentacja. Tak że spoko możesz używać tych 2 bitów. Jedyne, co musisz zrobić, to je ustawić na odpowiedni alternate. Nie jest to szczególna właściwość asemblera.

    Podejrzewam, że ci, co to pisali, zasugerowali się tymi standardowymi nazwami, raczej istotnymi tylko przy komunikacji szeregowej z wyświetlaczem.

    Sam LTDC nie ma żadnych ustawień RGB565 ani RGB666 - to tylko dla Cube'a do ustawienia pinów. On sam zawsze generuje 888, tylko parę pinów zabrakło w tej obudowie, a piszący zasugerował się tymi nazwami.


    Z racjonalnego punktu widzenia - może by to miało jakiekolwiek znaczenie, jakbyś miał jakiś super wyświetlacz. Chińskie i tak tyle kolorów nie wyświetlą i 565 jest nawet za dużo dla nich.

    Dodano po 15 [minuty]:

    gregor124 napisał:
    Przy rozdzielczości 320x200 właściwie każdy tryb bez problemu zmieści się w pamięci dostępnej w układzie.

    Niby tak, ale jak byś chciał korzystać z tego, co to oferuje, potrzebujesz dużo więcej pamięci niż 320x240x3.

    Generalnie jest to potężne narzędzie i można zrobić piękne rzeczy.
  • #5 21902040
    MISIEK2018
    Poziom 18  
    Posty: 430
    Pomógł: 21
    Ocena: 100
    @ElektrodaBot Co powiesz na ten temat?
  • REKLAMA
  • #6 21902050
    ElektrodaBot
    AI od OpenAI ChatGPT4
    Posty: 8888
    Pomógł: 364
    Ocena: 954
    LABEL_AI_GENERATED
    MISIEK2018 napisał:
    @ElektrodaBot Co powiesz na ten temat?

    Posty użytkowników poprzedzające pytanie:
    ```
    Data: 12/05/2026
    Treść: To wyraźnie błąd w logice tej paczki dla CubeMX. Po prostu sobie ustaw te b...
    Krótko

    Moim zdaniem w tej dyskusji mieszają się trzy różne pojęcia:

    1. format piksela w buforze RAM: ARGB8888, RGB888, RGB565, ARGB1555, ARGB4444, L8, AL44, AL88;
    2. fizyczny interfejs równoległy LTDC: sygnały
    LCD_R[7:0]
    ,
    LCD_G[7:0]
    ,
    LCD_B[7:0]
    plus
    CLK
    ,
    DE
    ,
    HSYNC
    ,
    VSYNC
    ;
    3. uproszczony wybór w CubeMX/CubeIDE „Display Type”: głównie pomocnik do ustawienia typowego zestawu pinów dla RGB565/RGB666/RGB888.

    W STM32H750VBT6 w LQFP100 nie traktowałbym tego jako „magii asemblera”. Jeżeli dany sygnał LTDC jest wyprowadzony na pin i widnieje w tabeli alternate functions, to można go ustawić ręcznie przez
    GPIOx_MODER
    i
    GPIOx_AFRL/H
    , niezależnie od tego, czy CubeMX przewidział wygodny wariant w GUI. ST w AN4861 wyraźnie rozdziela temat interfejsu do panelu od formatów warstw, a dla LTDC podaje do 24 linii danych RGB888 i typowe podłączenia RGB565/RGB666/RGB888. (st.com)

    ---

    Najważniejsze sprostowanie: te „8 trybów” to nie „Display Type”

    Lista:

    -
    ARGB8888
    ,
    -
    RGB888
    ,
    -
    RGB565
    ,
    -
    ARGB1555
    ,
    -
    ARGB4444
    ,
    -
    L8
    ,
    -
    AL44
    ,
    -
    AL88


    dotyczy formatu danych w framebufferze danej warstwy LTDC, a nie tego, ile fizycznych linii RGB wychodzi z obudowy. Dokumentacja ST mówi wprost, że format piksela jest parametrem danych zapisanych w framebufferze warstwy, a każda warstwa może mieć niezależnie ustawiony jeden z ośmiu formatów wejściowych. Po odczycie z pamięci LTDC wykonuje konwersję do wewnętrznego formatu ARGB8888. (st.com)

    Natomiast „Display Type” w CubeMX/CubeIDE dotyczy bardziej zewnętrznego połączenia do panelu, czyli tego, które linie
    LCD_Rx/Gx/Bx
    mają zostać zajęte jako GPIO alternate function. ST w AN4861 zaleca przy doborze obudowy sprawdzać dostępność RGB565/RGB666/RGB888 oraz liczbę GPIO, a jako proste narzędzie wskazuje właśnie zakładkę pinoutu CubeMX. (st.com)

    ---

    Co faktycznie generuje LTDC?

    Wewnętrznie LTDC pracuje na pełnych składowych kolorów. Z punktu widzenia wyjścia masz sygnały:

    Kod: text
    Zaloguj się, aby zobaczyć kod


    ST opisuje, że interfejs sprzętowy LTDC daje osiem bitów na każdą składową koloru i nadaje się bezpośrednio do paneli RGB888. Dla paneli o mniejszej głębi, czyli RGB666/RGB565, należy podłączać najstarsze bity magistrali LTDC do wejść panelu. (st.com)

    Czyli przykładowo:

    PanelZalecane linie LTDC
    RGB565
    R7..R3
    ,
    G7..G2
    ,
    B7..B3
    RGB666
    R7..R2
    ,
    G7..G2
    ,
    B7..B2
    RGB888
    R7..R0
    ,
    G7..G0
    ,
    B7..B0


    To ważne: jeżeli podłączysz młodsze bity zamiast starszych, obraz oczywiście może się pojawić, ale rozkład jasności/kodowanie kolorów będzie nienaturalne, chyba że świadomie przygotujesz dane w framebufferze pod taki nietypowy układ.

    ---

    STM32H750VBT6 LQFP100: CubeMX upraszcza, ale datasheet jest ważniejszy

    Dla STM32H750xB aktualny datasheet ST, rewizja 8 ze stycznia 2026, pokazuje, że układ ma LCD-TFT controller, 1 MB RAM i występuje m.in. w LQFP100. (st.com)

    I tutaj dochodzimy do sedna: CubeMX może nie udostępniać w GUI wszystkich niestandardowych kombinacji linii LTDC, ale to nie oznacza, że sygnał nie istnieje. Ostatecznym źródłem prawdy jest tabela alternate functions w datasheecie.

    Przykłady z datasheetu dla LQFP100:

    -
    PE4
    , pin 3, ma funkcję
    LCD_B0
    ;
    -
    PE5
    , pin 4, ma funkcję
    LCD_G0
    ;
    -
    PE6
    , pin 5, ma funkcję
    LCD_G1
    . (st.com)

    To akurat koryguje jedną rzecz z wcześniejszej wypowiedzi:
    B0
    jednak jest dostępne w LQFP100 na
    PE4
    , przynajmniej według datasheetu DS12556 Rev. 8. Dostępne są też
    G0
    i
    G1
    na
    PE5/PE6
    .

    Z kolei
    PA1
    , pin 23, ma
    LCD_R2
    , a
    PA2
    , pin 24, ma
    LCD_R1
    ; natomiast wpis dla
    LCD_R0
    widoczny jest np. przy
    PH2
    , ale w kolumnie LQFP100 jest kreska, czyli tego konkretnego wyprowadzenia w LQFP100 nie ma. (st.com)

    Dodatkowo
    PB0
    , pin 34, ma alternatywnie
    LCD_R3
    albo
    LCD_G1
    , a
    PB1
    , pin 35, ma alternatywnie
    LCD_R6
    albo
    LCD_G0
    . (st.com)

    I tu trzeba uważać: „alternatywnie” oznacza alternatywnie, nie jednocześnie. Jeżeli ustawisz
    PB0
    jako
    LCD_G1
    , to nie może on w tym samym czasie być
    LCD_R3
    . Jeżeli masz dostępne
    G1
    na
    PE6
    , lepiej użyć
    PE6
    , a nie zabierać sobie
    R3
    z
    PB0
    .

    ---

    Czy da się ręcznie wyprowadzić „więcej niż CubeMX pokazuje”?

    Tak, jeżeli spełnione są trzy warunki:

    1. dany sygnał
    LCD_Rx/Gx/Bx
    istnieje w tabeli alternate functions dla konkretnego pinu;
    2. ten pin jest fizycznie dostępny w danej obudowie;
    3. nie koliduje z innym potrzebnym sygnałem.

    Nie ma tu znaczenia, czy piszesz w C, C++ czy asemblerze. Asembler nie omija ograniczeń krzemu ani obudowy. On tylko pozwala bezpośrednio zapisać rejestry. To samo można zrobić w C przez CMSIS.

    Schematycznie konfiguracja sprowadza się do:

    Kod: text
    Zaloguj się, aby zobaczyć kod


    Numer
    AFx
    trzeba brać z tabeli alternate functions dla konkretnego pinu. Nie należy zakładać, że wszystkie sygnały LCD są pod tym samym numerem AF, bo w STM32H7 część linii LCD występuje na różnych pinach i pod różnymi funkcjami alternatywnymi.

    ---

    RGB565/RGB666 w CubeMX a rzeczywiste linie

    Jeżeli w CubeMX wybierzesz
    RGB565
    , narzędzie zwykle ustawi zestaw typowy dla panelu 16-bitowego:

    Kod: text
    Zaloguj się, aby zobaczyć kod


    Jeżeli wybierzesz
    RGB666
    , ustawi typowy zestaw:

    Kod: text
    Zaloguj się, aby zobaczyć kod


    Ale sam blok LTDC nadal generuje pełne wewnętrzne dane kolorów. Piny, których nie skonfigurujesz jako LTDC, mogą być normalnymi GPIO albo peryferiami, o ile nie są potrzebne do czegoś innego.

    Dlatego twierdzenie: „LTDC nie ma osobnego magicznego trybu RGB565/RGB666, tylko Cube ustawia piny” jest w praktycznym sensie dość trafne, choć trzeba doprecyzować, że format RGB565 istnieje jako format danych warstwy framebuffer, a
    Display Type RGB565/RGB666
    w GUI to inna rzecz.

    ---

    Pomysł z „ukrytym obrazkiem” w bitach

    Teoretycznie: tak, można potraktować młodsze bity koloru jako dodatkowy kanał informacyjny. Przykładowo, przy normalnym oglądaniu panelu 18-bitowego młodsze bity, których panel nie odbiera, nie będą widoczne, ale w framebufferze i na wewnętrznej magistrali LTDC mogą istnieć.

    Praktycznie są ograniczenia:

    - jeżeli pin nie jest skonfigurowany jako LTDC, sygnał nie wyjdzie na zewnątrz;
    - jeżeli jeden pin ma dwie funkcje LCD, np.
    PB0 = LCD_R3
    albo
    LCD_G1
    , nie uzyskasz obu naraz;
    - przełączanie funkcji AF w trakcie aktywnego wyświetlania spowoduje zakłócenia;
    - jeżeli chcesz „podejrzeć” młodsze bity zewnętrznym układem, musisz mieć te bity fizycznie wyprowadzone i nieużywane przez panel.

    Jako eksperyment laboratoryjny ciekawy pomysł. Jako projekt produkcyjny raczej nie warto, chyba że bardzo świadomie projektujesz własny interfejs diagnostyczny albo niestandardowy tor wizyjny.

    ---

    Pamięć i sens użycia formatów 24/32 bpp

    Dla małych rozdzielczości STM32H750 daje radę, ale trzeba liczyć pamięć:

    RozdzielczośćRGB565RGB888ARGB8888
    ---:---:---:---:
    320×200128 kB192 kB256 kB
    320×240153,6 kB230,4 kB307,2 kB


    Podwójny bufor mnoży to razy dwa. Przy 320×240 w RGB565 masz około 307 kB dla double buffering, więc jest to realne. W ARGB8888 dwa bufory to już około 614 kB. Formalnie STM32H750 ma 1 MB RAM, ale nie każda pamięć jest równie wygodna dla LTDC, cache i DMA2D. Trzeba pilnować banku RAM, MPU/cache oraz ewentualnego czyszczenia D-cache przy zapisie framebufferów przez CPU. ST w AN4861 również zwraca uwagę na ograniczenia przepustowości, cache i synchronizację z LTDC/DMA2D. (st.com)

    ---

    Moja konkluzja

    Nie nazwałbym tego jednoznacznie „błędem LTDC” ani „ograniczeniem asemblera”. Najtrafniej:

    CubeMX/CubeIDE pokazuje standardowe, bezpieczne konfiguracje fizycznego interfejsu dla danej obudowy, natomiast datasheet pozwala ręcznie skonfigurować poszczególne linie LTDC, także takie, których GUI nie używa w typowym trybie RGB565/RGB666.

    Czyli:

    - 8 formatów z dokumentacji to formaty framebufferów warstw;
    -
    Display Type
    w CubeMX to wybór typowej szerokości fizycznego RGB;
    - LTDC generuje zestaw sygnałów RGB, a o tym, co wyjdzie na zewnątrz, decydują piny i ich AF;
    - w LQFP100 można ręcznie wykorzystać część dodatkowych bitów, ale trzeba uważać na konflikty funkcji alternatywnych;
    - ostatecznie decyduje datasheet, nie lista w GUI CubeMX.

    Jeżeli celem jest normalny wyświetlacz 320×200 albo 320×240, najrozsądniej zacząć od RGB565 lub RGB666, uruchomić stabilnie timing, FIFO i cache, a dopiero potem bawić się dodatkowymi LSB kolorów.
    Możesz mnie wywołać w każdym temacie pisząc @ElektrodaBot. Zastrzeżenie: Niektóre odpowiedzi udzielone przez ElektrodaBota mogą być niedokładne. Elektroda nie ponosi odpowiedzialności za dokładność, rzetelność ani kompletność prezentowanych informacji. Wszystkie odpowiedzi ElektrodaBota powinny być zweryfikowane przez użytkownika. OpenAI może monitorować i zapisywać informacje wprowadzane po wywołaniu ElektrodaBota.
  • #7 21902160
    gregor124
    Poziom 29  
    Posty: 1706
    Pomógł: 101
    Ocena: 885
    Na początek zacznijmy od tego, że w tym układzie nie ma 1 MB RAM i do 1 MB całkiem sporo brakuje ;).
    Właściwie to nawet nie ma tyle pamięci dostępnej dla użytkownika po dodaniu 128 kB FLASH ;).
    Chodzi o to, że tak naprawdę to tryby RGB565 czy RGB666 tak naprawdę są wirtualne i tylko dezorientują użytkownika, bo równie dobrze mogę sobie stworzyć tryb RGB101, RGB111, RGB222.... I też będą działać. ;)
    Oczywiście, że można sobie stworzyć program pozwalający na skonfigurowanie dowolnego z nich, nie tylko w Assemblerze (ja np. zrobiłem sobie do tego makra i w Assemblerze i w BASIC ;)), ale to właśnie assembler zmusza do dobrego zrozumienia zasady działania układu.
    Ba, mogę sobie napisać procedurę, która będzie mi tryby zmieniać niejako w locie.
    Tak naprawdę interfejs jest zawsze jeden i ten sam, a użytkownik może go sobie niemal dowolnie kształtować.
    Pomogłem? Kup mi kawę.
  • #8 21902195
    oscil1
    Poziom 24  
    Posty: 677
    Pomógł: 50
    Ocena: 184
    gregor124 napisał:
    Na początek zacznijmy od tego, że w tym układzie nie ma 1 MB RAM i do 1 MB całkiem sporo brakuje .

    Nie krytykuj biednego bota!!
  • #9 21902231
    gregor124
    Poziom 29  
    Posty: 1706
    Pomógł: 101
    Ocena: 885
    Ale ja nie krytykuję, ostrzegam tylko przed naiwną wiarą we wszystko, co AI podpowiada.
    Choć pewnie i tak na próżno ;)
    Pomogłem? Kup mi kawę.

Podsumowanie tematu

LABEL_AI_GENERATED
W STM32CubeIDE dla układu STM32H750VBT6 w konfiguracji LTDC dostępne są tylko dwa tryby kolorów: RGB666 i RGB565, mimo że dokumentacja ST opisuje osiem trybów wyświetlania. Problem dotyczy ograniczeń widocznych w pliku konfiguracyjnym/data oraz braku jednoznacznej dokumentacji dla konkretnego wariantu STM32H750VBT6, co utrudnia weryfikację poprawnych ustawień sterownika LCD-TFT i zgodności parametrów częstotliwości.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA