A ["Discussions"](https://github.com/Bodmer/TFT_eSPI/discussions) facility has been added for Q&A etc. Use the ["Issues"](https://github.com/Bodmer/TFT_eSPI/issues) tab only for problems with the library. Thanks!
# News
1. There is a [test branch](https://github.com/Bodmer/TFT_eSPI/tree/RP2040_16bit_parallel) for the RP2040 with 16 bit parallel displays. This has been tested and the screen update performance is very good (4ms to clear 320 x 480 screen with HC8357C). The use of the RP2040 PIO makes it easy to change the write cycle timing for different displays. DMA with 16 bit transfers is also supported.
2. Support for HX8357B and HX8357C screens has been added (only tested with RP2040 and 16 bit parallel interface)
3. Support for the ESP32-S3 and ESP32-C3 has been added (DMA not support at the moment). Tested with v2.0.3 RC1 of the ESP32 board package. Example setups:
[Setup70_ESP32_S2_ILI9341.h](https://github.com/Bodmer/TFT_eSPI/blob/master/User_Setups/Setup70_ESP32_S2_ILI9341.h)
[Setup70b_ESP32_S3_ILI9341.h](https://github.com/Bodmer/TFT_eSPI/blob/master/User_Setups/Setup70b_ESP32_S3_ILI9341.h)
[Setup70c_ESP32_C3_ILI9341.h](https://github.com/Bodmer/TFT_eSPI/blob/master/User_Setups/Setup70c_ESP32_C3_ILI9341.h)
4. Smooth fonts can now be rendered direct to the TFT with very little flicker for quickly changing values. This is achieved by a line-by-line and block-by-block update of the glyph area without drawing pixels twice. This is a "breaking" change for some sketches because a new true/false parameter is needed to render the background. The default is false if the parameter is missing, Examples:
tft.setTextColor(TFT_WHITE, TFT_BLUE, true);
spr.setTextColor(TFT_BLUE, TFT_BLACK, true);
Note: background rendering for Smooth fonts is also now available when using the print stream e.g. with: tft.println("Hello World");
5. New anti-aliased graphics functions to draw lines, wedge shaped lines, circles and rounded rectangles. [Examples are included](https://github.com/Bodmer/TFT_eSPI/tree/master/examples/Smooth%20Graphics). Examples have also been added to [display PNG compressed images](https://github.com/Bodmer/TFT_eSPI/tree/master/examples/PNG%20Images) (note: requires ~40kbytes RAM).
6. Frank Boesing has created an extension library for TFT_eSPI that allows a large range of ready-built fonts to be used. Frank's library (adapted to permit rendering in sprites as well as TFT) can be [downloaded here](https://github.com/Bodmer/TFT_eSPI_ext). More than 3300 additional Fonts are [available here](https://github.com/FrankBoesing/fonts/tree/master/ofl). The TFT_eSPI_ext library contains examples that demonstrate the use of the fonts.
7. Users of PowerPoint experienced with running macros may be interested in the [pptm sketch generator here](https://github.com/Bodmer/PowerPoint_to_sketch), this converts graphics and tables drawn in PowerPoint slides into an Arduino sketch that renders the graphics on a 480x320 TFT. This is based on VB macros [created by Kris Kasprzak here](https://github.com/KrisKasprzak/Powerpoint-ILI9341_t3).
8. The library contains two new functions for rectangles filled with a horizontal or vertical coloured gradient:
tft.fillRectHGradient(x, y, w, h, color1, color2);
tft.fillRectVGradient(x, y, w, h, color1, color2);
![Gradient](https://i.imgur.com/atR0DmP.png)
9. The RP2040 8 bit parallel interface uses the PIO. The PIO now manages the "setWindow" and "block fill" actions, releasing the processor for other tasks when areas of the screen are being filled with a colour. The PIO can optionally be used for SPI interface displays if #define RP2040_PIO_SPI is put in the setup file. Touch screens and pixel read operations are not supported when the PIO interface is used.
The RP2040 PIO features only work with [Earle Philhower's board package](https://github.com/earlephilhower/arduino-pico), NOT the Arduino Mbed version.
The use of PIO for SPI allows the RP2040 to be over-clocked (up to 250MHz works on my boards) in Earle's board package whilst still maintaining high SPI clock rates.
10. DMA can now be used with the Raspberry Pi Pico (RP2040) when used with both 8 bit parallel and 16 bit colour SPI displays. See "Bouncy_Circles" sketch.
["Bouncing circles"](https://www.youtube.com/watch?v=njFXIzCTQ_Q&lc=UgymaUIwOIuihvYh-Qt4AaABAg)
11. The library now supports the Raspberry Pi Pico with both the [official Arduino board package](https://github.com/arduino/ArduinoCore-mbed) and the one provided by [Earle Philhower](https://github.com/earlephilhower/arduino-pico). The setup file "Setup60_RP2040_ILI9341.h" has been used for tests with an ILI9341 display. At the moment only SPI interface displays have been tested. SPI port 0 is the default but SPI port 1 can be specifed in the setup file if those SPI pins are used.
["Rotating cube demo"](https://www.youtube.com/watch?v=4fPxEN9ImVE)
12. The library now provides a "viewport" capability. See "Viewport_Demo" and "Viewport_graphicstest" examples. When a viewport is defined graphics will only appear within that window. The coordinate datum by default moves to the top left corner of the viewport, but can optionally remain at top left corner of TFT. The GUIslice library will make use of this feature to speed up the rendering of GUI objects ([see #769](https://github.com/Bodmer/TFT_eSPI/issues/769)).
# TFT_eSPI
An Arduino IDE compatible graphics and fonts library for 32 bit processors. The library is targeted at 32 bit processors, it has been performance optimised for STM32, ESP8266 and ESP32 types. The library can be loaded using the Arduino IDE's Library Manager. Direct Memory Access (DMA) can be used with the ESP32, RP2040 and STM32 processors with SPI interface displays to improve rendering performance. DMA with a parallel interface is only supported with the RP2040.
Optimised drivers are incorporated for the following processors:
* RP2040, e.g. Raspberry Pi Pico
* ESP32 and ESP32-S2, ESP32-C3, ESP32-S3
* ESP8266
* STM32F1xx, STM32F2xx, STM32F4xx, STM32F767 (higher RAM processors recommended)
Generic (non-optimised Arduino function calls) are used by the library for other processors.
"Four wire" SPI and 8 bit parallel interfaces are supported. Due to lack of GPIO pins the 8 bit parallel interface is NOT supported on the ESP8266. 8 bit parallel interface TFTs (e.g. UNO format mcufriend shields) can used with the STM32 Nucleo 64/144 range or the UNO format ESP32 (see below for ESP32).
Displays using the following controllers are supported:
* GC9A01
* ILI9163
* ILI9225
* ILI9341
* ILI9342
* ILI9481 (DMA not supported with SPI)
* ILI9486 (DMA not supported with SPI)
* ILI9488 (DMA not supported with SPI)
* HX8357B (16 bit parallel tested with RP2040)
* HX8357C (16 bit parallel tested with RP2040)
* HX8357D
* R61581
* RM68120 (support files added but untested)
* RM68140
* S6D02A1
* SSD1351
* SSD1963
* ST7735
* ST7789
* ST7796
ILI9341 and ST7796 SPI based displays are recommended as starting point for experimenting with this library.
The library supports some TFT displays designed for the Raspberry Pi (RPi) that are based on a ILI9486 or ST7796 driver chip with a 480 x 320 pixel screen. The ILI9486 RPi display must be of the Waveshare design and use a 16 bit serial interface based on the 74HC04, 74HC4040 and 2 x 74HC4094 logic chips. Note that due to design variations between these displays not all RPi displays will work with this library, so purchasing a RPi display of these types solely for use with this library is not recommended.
A "good" RPi display is the [MHS-4.0 inch Display-B type ST7796](http://www.lcdwiki.com/MHS-4.0inch_Display-B) which provides good performance. This has a dedicated controller and can be clocked at up to 80MHz with the ESP32 (55MHz with STM32 and 40MHz with ESP8266). The [MHS-3.5 inch RPi ILI9486](http://www.lcdwiki.com/MHS-3.5inch_RPi_Display) based display is al
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
项目介绍 本项目是基于ESP32C3的软硬件结合的项目,单片机的控制程序和上位机的TCP 传输数据程序,相比之下,上位机的编写是较为简单的,做一个关于显示电脑参数的硬件,可以通过TCP传回显示CPU的运行速度,可以通过Wifi获取到Http上的天气数据,也可以把当成蓝牙键盘来进行操作电脑
资源推荐
资源详情
资源评论
收起资源包目录
C语言实现基于Socket通信的电脑智能监控硬件项目源码+演示视频,显示电脑CPU等参数,也可以作为蓝牙键盘 (300个子文件)
github.bat 146B
Font32rle.c 35KB
TFT_eSPI_ESP32_C3.c 30KB
TFT_eSPI_ESP32_S3.c 30KB
TFT_eSPI_ESP32.c 29KB
Font16.c 28KB
TFT_eSPI_STM32.c 27KB
TFT_eSPI_RP2040.c 25KB
Font72rle.c 16KB
Font72x53rle.c 16KB
TFT_eSPI_ESP8266.c 13KB
Font64rle.c 12KB
Font7srle.c 11KB
TFT_eSPI_Generic.c 10KB
glcdfont.c 8KB
TFT_eSPI.cpp 171KB
Sprite.cpp 79KB
Smooth_font.cpp 19KB
Touch.cpp 13KB
Button.cpp 3KB
main.cpp 1KB
.gitattributes 378B
.gitignore 649B
.gitignore 182B
.gitignore 94B
FreeSansBoldOblique24pt7b.h 62KB
FreeSansOblique24pt7b.h 58KB
FreeSerifBoldItalic24pt7b.h 55KB
FreeSansBold24pt7b.h 54KB
FreeSerifBold24pt7b.h 53KB
FreeMonoBoldOblique24pt7b.h 51KB
FreeSerifItalic24pt7b.h 51KB
FreeSans24pt7b.h 50KB
TFT_eSPI_STM32.h 50KB
FreeSerif24pt7b.h 47KB
FreeMonoBold24pt7b.h 46KB
FreeMonoOblique24pt7b.h 44KB
TFT_eSPI.h 42KB
FreeMono24pt7b.h 39KB
FreeSansBoldOblique18pt7b.h 37KB
FreeSansOblique18pt7b.h 35KB
FreeSerifBoldItalic18pt7b.h 34KB
FreeSansBold18pt7b.h 32KB
FreeSerifBold18pt7b.h 31KB
FreeMonoBoldOblique18pt7b.h 31KB
FreeSans18pt7b.h 30KB
FreeSerifItalic18pt7b.h 30KB
FreeSerif18pt7b.h 29KB
Yellowtail_32.h 29KB
FreeMonoBold18pt7b.h 28KB
Orbitron_Light_32.h 28KB
FreeMonoOblique18pt7b.h 26KB
FreeMono18pt7b.h 24KB
TomThumb.h 24KB
TFT_eSPI_ESP32_S3.h 22KB
TFT_eSPI_ESP32_C3.h 22KB
TFT_eSPI_ESP32.h 21KB
FreeSansBoldOblique12pt7b.h 21KB
FreeSansOblique12pt7b.h 20KB
FreeSerifBoldItalic12pt7b.h 19KB
Satisfy_24.h 18KB
FreeSansBold12pt7b.h 18KB
Orbitron_Light_24.h 18KB
TFT_eSPI_RP2040.h 17KB
FreeSerifBold12pt7b.h 17KB
FreeSerifItalic12pt7b.h 17KB
FreeMonoBoldOblique12pt7b.h 17KB
FreeSans12pt7b.h 17KB
User_Setup.h 17KB
SetupX_Template.h 16KB
FreeSerif12pt7b.h 16KB
ILI9481_Init.h 16KB
FreeMonoBold12pt7b.h 16KB
FreeMonoOblique12pt7b.h 16KB
Roboto_Thin_24.h 15KB
FreeSansBoldOblique9pt7b.h 14KB
FreeMono12pt7b.h 14KB
FreeSansOblique9pt7b.h 14KB
User_Setup_Select.h 13KB
FreeSerifBoldItalic9pt7b.h 13KB
FreeSansBold9pt7b.h 13KB
WifiMannger.h 13KB
FreeMonoBoldOblique9pt7b.h 12KB
FreeSerifItalic9pt7b.h 12KB
FreeSerifBold9pt7b.h 12KB
FreeSans9pt7b.h 12KB
FreeSerif9pt7b.h 12KB
RM68120_Init.h 12KB
FreeMonoBold9pt7b.h 11KB
FreeMonoOblique9pt7b.h 11KB
FreeMono9pt7b.h 10KB
Setup62_RP2040_Nano_Connect_ILI9341.h 9KB
TFT_config.h 9KB
Setup60_RP2040_ILI9341.h 9KB
Sprite.h 9KB
SSD1963_Init.h 9KB
ST7735_Init.h 9KB
TFT_eSPI_ESP8266.h 8KB
TFT_eSPI_Generic.h 7KB
weather.h 6KB
共 300 条
- 1
- 2
- 3
资源评论
程序员柳
- 粉丝: 6643
- 资源: 1443
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功