0、前言
从这家店里买了一块0.96寸的SPI通信的屏幕
然后找客服要了资料
TFt显示屏
链接:https://pan.baidu.com/s/1PI0K2PZfFFJ55AttDY6uDQ
提取码:RXHC
复制这段内容打开「百度网盘APP 即可获取」
历经坎坷终于HelloWorld了,记录一下一路上遇到的困难。
1、文件路径
解压后放在C:\Users\31132\AppData\Local\Arduino15\libraries路径下
然后把src文件夹里的东西全部拷贝,和例程里的.ino放在一个路径下,否则Arduino无法加载头文件。
2、UcgLogo例程中的坑
首先要选择接线方式,
Ucglib_ST7735_18x128x160_SWSPI ucg(/*sclk=*/ 13, /*data=*/ 11, /*cd=*/ 9 , /*cs=*/
10, /*reset=*/ 8);
前 面 的 // 去 掉
如 图 所 示
接线说明
1. GND=GND
2. VCC=3V3(一定要注意别接到5V上了)
3. SCL=13
4. SDA=11
5. RES=8
6. DC=9
7. CS=10
8. BLK
默认可以不接
然后运行,不出所料的会报错
C:\Users\31132\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7\cores\esp32/Arduino.h:120:93: error: cannot convert 'volatile uint32_t*' {aka 'volatile unsigned int*'} to 'volatile uint8_t*' {aka 'volatile unsigned char*'} in assignment
#define portOutputRegister(port) ((volatile uint32_t*)((port)?GPIO_OUT1_REG:GPIO_OUT_REG))
^
C:\Users\31132\AppData\Local\Arduino15\libraries\Ucglib_Arduino-1.3.3\examples\UcgLogo\Ucglib.cpp:816:23: note: in expansion of macro 'portOutputRegister'
u8g_data_port[8] = portOutputRegister(digitalPinToPort(ucg->pin_list[UCG_PIN_WR]));
^~~~~~~~~~~~~~~~~~
#define portOutputRegister(port) ((volatile uint32_t*)((port)?GPIO_OUT1_REG:GPIO_OUT_REG))
^
C:\Users\31132\AppData\Local\Arduino15\libraries\Ucglib_Arduino-1.3.3\examples\UcgLogo\Ucglib.cpp:816:23: note: in expansion of macro 'portOutputRegister'
u8g_data_port[8] = portOutputRegister(digitalPinToPort(ucg->pin_list[UCG_PIN_WR]));
^~~~~~~~~~~~~~~~~~
看错误提示是portOutputRegister返回uint32的指针,没有强制转换成uint8*,就赋给一个uint8类型的指针了。需要把它强制转换一下类型。
在Ucglib.cpp文件里如此修改
要把八个portOutputRegister全都强制转换掉。
然后一般不会再有报错了(如有请自行解决)
3、编译运行
选择你的板子型号和端口(带CHK340的那个)
按中间的->运行
终于成功了,泪目
【未完待续】