You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Piu' sotto, al termine della lingua inglese trovi il testo in italiano. Below English text you'll find the Italian version
HOW TO setup a project with this software
CubeMX setup
create a new project on STM32CubeIDE
enable an SPI port.
SPI configuration is:
Mode
Value
mode
Half-Duplex Master
NSS
Hardware NSS Output Signal
(as per ST7735 datasheet) Baud Rate
<= 15 MBit/s
Parameter
Value
Frame format
Motorola
Data size
8 bit
First bit
MSB first
CPOL
low
CPHA
1 Edge
CRC calculation
disabled
NSS type
Output Hw
If you use SPI in "polling mode", do not enable Interrupt and DMA and not consider the below table: go over
If you use SPI in "interrupt mode", do not enable DMA and consider only the NVIC information in the below table
If you use SPI in "DMA mode", enable both Interrupt and DMA following the below table
SPI config label
Value
DMA settings
enable only TX DMA
NVIC settings
enable SPI global interrupt
assign these names to SPI pins:
SPI pin
Pinname to assign
Speed relevance
NSS
DISPL_CS
X
MOSI
DISPL_MOSI
X
SCK
DISPL_SCK
X
"Speed relevance" (here above and below):
"X" means that pin speed affects the defined SPI boudrate handling: rise (step by step from LOW to VERY HIGH) pins speed if you see uC cannot handle the defined communication speed (more information on your uC datasheet).
As per GPIO software guidelines, STM suggests keeping the lower GPIO speed allowing your project handling, reducing power consumption and EMI.
Copy the .c files into the /Core/Src folder in your STM32CubeIDE project
Copy the .h files into the /Core/Inc folder in your STM32CubeIDE project
into the /Core/Inc folder, open the main.h file and add an include directive for every .h file copied. In this order:
(main.h)
...
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include "fonts.h"#include "z_displ_ST7735.h"#include "z_displ_ST7735_test.h"
/* USER CODE END Includes */
...
PLEASE NOTE:
in a "TouchGFX" project, you need only "z_displ_ST7735.h" and "z_displ_ST7735.c"
In a "Direct handling" project, you need "z_displ_ST7735_test" files (.c and .h) only if you want to use graphics test/demo functions. You don't need to add them in the production project.
HOW TO: come configurare un progetto con questo software
Configurazione CubeMX
crea un nuovo progetto su STM32CubeIDE
attiva una porta SPI con questa configurazione:
Parametro
Valore
mode
Half-Duplex Master
NSS
Hardware NSS Output Signal
(come da datasheet del driver ST7735) Baud Rate
<= 15 MBit/s
Parametro
Valore
Frame format
Motorola
Data size
8 bit
First bit
MSB first
CPOL
low
CPHA
Edge
CRC calculation
disabled
NSS type
Output Hw
Se usi SPI in "polling mode" non attivare Interrupt e DMA sulla SPI e non considerare la tabella sotto: procedi oltre
Se usi SPI in "interrupt mode" non attivare DMA e considera solo NVIC settings nella tabella sotto
Se usi SPI in "DMA mode" abilita sia Interrupt sia DMA e segui la tabella sotto
Etichetta SPI
Valore
DMA settings
attiva solo TX DMA
NVIC settings
attiva SPI global interrupt
assegnare questi nomi ai pin SPI:
Pin SPI
Nome da assegnare
Rilevanza velocità
NSS
DISPL_CS
X
MOSI
DISPL_MOSI
X
SCK
DISPL_SCK
X
"Rilevanza velocità" (qui sopra e sotto): "X" significa che la velocità del pin ha effetti sulla velocità della porta SPI: aumenta (per gradi da LOW to VERY HIGH) la velocità dei pin se vedi che il uC non riesce a gestire la velocità di comunicazione assegnata (maggiori informazioni sul datasheet del tuo uC).
Come indicato in "GPIO software guidelines", STM suggerisce di mantenere la minore velocità GPIO che permette la gestione del tuo progetto, ciò per ridurre consumi ed EMI.
Copia i file .c nella cartella /Core/Src del progetto STM32CubeIDE
Copia i file .h nella cartella /Core/Inc del progetto STM32CubeIDE
Nella cartella /Core/Inc, apri il file main.h e aggiungi la direttiva include (nella sezione "USER CODE BEGIN Includes") per ogni file .h copiato, seguendo questo ordine:
(main.h)
...
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include "fonts.h"#include "z_displ_ST7735.h"#include "z_displ_ST7735_test.h"
/* USER CODE END Includes */
...
NOTA BENE:
In un progetto "TouchGFX" ti servono solo "z_displ_ST7735.h" and "z_displ_ST7735.c"
In un progetto "a gestione diretta", i file "z_displ_ST7735_test" (.c e .h) devono essere copiati nel progetto solo se vuoi usare le funzioni di demo e test. Non occorrono questi file nella versione definitiva del progetto.