STM32FXXX 그래픽 디스플레이 드라이버
레이어 차트, 예제 회로 및 설정 :
- lcd_drv.pdf (https://github.com/robertobenjami/stm32_graphics_display_drivers/blob/master/lcd_drv.pdf)
LCD I/O 및 터치 스크린 I/O 드라이버 :
- LCD_IO_SPI : 소프트웨어 SPI, 하드웨어 SPI, DMA와 하드웨어 SPI
- LCD_IO_GPIO8 : 8 비트 PARALELL 아날로그 저항 터치 스크린
- LCD_IO_GPIO16 : 16 비트 Paralell 아날로그 저항성 터치 스크린
- LCD_IO_FSMC8 : 8 비트 PARALELL 아날로그 저항성 터치 스크린 + FSMC 또는 FSMC가없는 DMA
- LCD_IO_FSMC16 : 16 비트 PARALELL 아날로그 저항성 터치 스크린 + FSMC 또는 FSMC가없는 DMA
- lcdts_io_gpio8 : 아날로그 저항 터치 스크린이있는 8 비트 Paralell
- LCDTS_IO_FSMC8 : 8 비트 PARALELL 아날로그 저항성 터치 스크린 + FSMC 또는 DMA가있는 FSMC
- TS_XPT2046 : XPT2046 터치 스크린 드라이버, 소프트웨어 및 하드웨어 SPI, 4 또는 5 전선
- LCDTS_IO_SPI_XPT2046 : 공통 SPI, 소프트웨어 및 하드웨어 SPI에서 LCD 및 XPT2046 (LCD에서 DMA)
| STM 가족 | SPI | GPIO8 | GPIO16 | FSMC8 | FSMC16 | TS_GPIO8 | TS_FSMC8 | TS_XPT2046 | SPI_XPT2046 | 메모 |
|---|
| STM32F0 | + | + | + | | | | | | | |
| STM32F1 | + | + | + | | | + | | + | | |
| STM32F2 | + | + | + | + | + | + | + | + | + | |
| STM32F3 | + | + | + | | | | | | | |
| STM32F4 | + | + | + | + | + | + | + | + | + | |
| STM32F7 | + | + | + | | | | | | | |
| STM32G0 | | + | + | | | | | | | 테스트되지 않았습니다 |
| STM32G4 | | + | + | | | | | | | 테스트되지 않았습니다 |
| STM32L0 | + | + | + | | | | | | | 테스트되지 않았습니다 |
| STM32L1 | + | + | + | | | | | | | |
| STM32L4 | + | + | + | | | | | | | 테스트되지 않았습니다 |
| STM32L5 | | + | + | | | | | | | 테스트되지 않았습니다 |
| STM32H7 | | + | + | | | | | | | |
LCD 드라이버 :
- ST7735 (SPI 모드 테스트)
- ST7783 (8 비트 Paralell 모드 테스트)
- ILI9325 (8 비트 Paralell 모드 테스트)
- ILI9328 (8 비트 Paralell 모드 테스트)
- ILI9341 (SPI, 8 비트 및 16 비트 Paralell 모드, LTDC 모드가있는 SPI)
- ILI9486 (8 비트 Paralell 모드 테스트)
- ILI9488 (SPI, 8 비트 Paralell 모드 테스트)
- HX8347G (8 비트 Paralell 모드 테스트)
앱:
- LCDSPEEDTEST : LCD 속도 테스트
- TouchCalib : 터치 스크린 교정 프로그램
- 페인트 : Arduino 페인트 클론
- JPGViewer : SD 카드 또는 PendRive의 JPG 파일 뷰어
- ANALOGCLOCK : 아날로그 클록 데모 (printf : 결과, SWV (ST-Link Serial Wire Viewer)에는 SWO 핀을 사용합니다. 예제/src/syscalls.c).
- 3D 채워진 벡터 (https://github.com/cbm80amiga/st7789_3d_fild_vector_ext에서)
0부터 시작하는 방법은 무엇입니까?
- STM32F103C8 -SPI : https://www.youtube.com/watch?v=4nz1vwuqwhw
- stm32f103c8 -gpio8 : https://www.youtube.com/watch?v=2op4vgotuja
- STM32F103C8 -TOUCHSCREEN이있는 GPIO8 : https://www.youtube.com/watch?v=qycctzabd2g
- STM32F407ZET -FSMC16, SDCARD, JPG : https://www.youtube.com/watch?v=hfekmzxt2l8
- STM32F429ZI Discovery -SPI -DMA, USBHOST PENDRIVE, JPG : https://www.youtube.com/watch?v=qi8ctnjgwfw
- Cubemx 또는 Cubeide를위한 프로젝트를 만듭니다
- RCC 설정 (크리스탈/세라믹 공진기)
- 디버그 설정 (SYS / SERIAL WIRE 또는 TRACE ASSYN SW)
- 타임베이스 소스 설정 (이에 대한 기본 타이머가 마음에 듭니다)
- IF FSMC : FSMC 설정 (Chip Select, Memory Type = LCD, LCD Reg Select, Data = 8 또는 16 비트, 타이밍)
- SDCARD : SDIO 모드 설정, FATF, FATFS : USE_LFN, MAX_SS = 4096, FS_LOCK = 5, RTC 활성화를 활성화합니다.
- USB Pendrive : USB 호스트 설정, USB 전원 설정, FATF, USE_LFN, MAX_SS = 4096, FS_LOCK = 5 활성화
- JPG 인 경우 : libjpeg를 활성화했습니다
- 시계 구성 설정
- 프로젝트 설정 : 프로젝트 이름, 도구 체인 = Truestudio, 스택 크기 = 0x800
- 소스 코드를 생성합니다
- Truestudio 또는 Cubeide
- 파일 시스템에서 개방 프로젝트 (Truestudio 만)
- 오픈 main.c
- 사용자 코드 추가 pfp : void mainApp (void);
- 사용자 코드 추가 시작 중 다음 : mainApp ();
- Main.h
- 사용자 코드 추가 시작 (#include "stm32f1xx_hal.h"또는 #include "stm32f4xx_hal.h"또는 ...)
- SRC 폴더에 2 개의 새로운 폴더 추가 (App, LCD)
- 앱/... 앱으로 파일을 복사합니다
- 드라이버에서 LCD까지 4 개 또는 7 개의 파일을 복사합니다 (LCD.H, BMP.H, STM32_ADAFRUIT_LCD.H / C, 터치 : TS.H, STM32_ADAFRIUT_TS.H / C)
- 폴더를 LCD 폴더로 복사하십시오
- IO 드라이버를 LCD 폴더에 복사하십시오 (LCD_IO _... H / C 또는 LCDTS_IO ... H / C 또는 ...)
- LCD 드라이버를 LCD 폴더에 복사하십시오 (ST7735.H / C 또는 ILI9325.H / C 또는 ...)
- printf to swo : syscalls.c를 src 폴더로 복사합니다.
- 구성 설정 IO 드라이버 헤더 파일 (핀 설정, 속도 설정 등)
- LCD 구성 설정 (방향, 터치 스크린)
- 포함 경로 포함 : SRC/LCD
- 컴파일 옵션 설정 (Paralell 빌드 활성화, 최적화)
- 컴파일, 실행 ...
예제 (원하는 앱을 압축 해제하십시오) : :
- f103c8t_app : (stm32f103c8t hal 응용 프로그램, cubemx, truestudio)
- f103c8t_app_rtos : (stm32f103c8t hal-freertos 응용 프로그램, Cubemx, truestudio)
- f407vet_app : (stm32f407vet hal-applications, cubemx, truestudio)
- F407VET_APP_RTOS : (STM32F407VET HAL-FREERTOS APPLICATIONS, CUBEMX, TRUESTUDIO)
- F407VET_APP_FSMC : (STM32F407VET HAL 응용 프로그램, FSMC, Cubemx, Truestudio)
- F407VET_APP_RTOS_FSMC : (STM32F407VET HAL-FREERTOS 응용 프로그램, FSMC, Cubemx, Truestudio)
- F407VET_APP_FSMC16 : (STM32F407VET HAL 응용 프로그램, FSMC 16 비트, Cubemx, Truestudio)
- F407ZET_APP_FSMC16_EXTSRAM : (STM32F407ZET HAL APPLICATIONS, FSMC 16 비트, 외부 1MB SRAM, CUBEMX, TRUESTUDIO)
저렴한 stlink에 SWO 지원을 추가하는 방법은 무엇입니까?
https://lujji.github.io/blog/stlink-clone-trace/