stm32L073RZ+ILI9341 driver IC spi四线串行通信点亮屏幕

需要的硬件

1.一个stm32L073 Nucleo-64开发板
2.一个淘宝买的2.4寸IPS液晶屏TK024F3041,驱动IC为ILI9341
3.若干杜邦线

需要的软件

1.keil uvision5
2.驱动代码

硬件连接图

对于初学者来说,这个硬件连接图很重要,软硬件结合嘛,在你不会驱动代码的时候,硬件也是一个棘手的问题,当硬件ok了,只是调试代码就好了,找了很多地方都没有清晰一点的硬件连接图,那我就只能看着驱动IC关于串行接口需要使用的pin再一一查看pin的解释,以及结合网络上搜寻到的资料接线了,以下是正确的验证过ok的硬件接线图:
stm32L073RZ+ILI9341 driver IC spi四线串行通信点亮屏幕
stm32L073RZ+ILI9341 driver IC spi四线串行通信点亮屏幕
stm32L073RZ+ILI9341 driver IC spi四线串行通信点亮屏幕
需要特别注意的是以下图中那颗电阻,现在要做的是spi通讯,那就需要按照图中的电阻放置正确的位置:stm32L073RZ+ILI9341 driver IC spi四线串行通信点亮屏幕

硬件原理图

这里只是分析硬件接法以及个人的分析过程:
我手上的这块板子丝印如下:
stm32L073RZ+ILI9341 driver IC spi四线串行通信点亮屏幕
GND: ground:地
3V3: 3.3V电源
IQR: 中断信号
BL: backlight背光板电源
MISO: spi master input slave out主输入从输出(SDO)
MOSI: spi master output slave inout主输出从输入(SDA\SDI)
T_CS: touch chip select触摸片选
SCK: 与RS一样,spi 同步时钟
D0~D15: 数据线0到15共16线
Busy: 忙信号
RST: reset 复位(RESX)
WR: Write strobe写选通,有的地方称为D/C,数据/命令信号
RD: Read strobe读选通
CS: Chip select 片选
RS: Register select,与SCK一样

spi四线如何选择

看ILI9341驱动ic datasheet:
stm32L073RZ+ILI9341 driver IC spi四线串行通信点亮屏幕
分析:IM[3:0]需要符合[0110]或者是[1110],看LCD模组的原理图发现,控制IM1和IM2上拉的是电阻R5,然后IM3低或者高都行就不用管IM3,控制IM0是电阻R1和R2:
stm32L073RZ+ILI9341 driver IC spi四线串行通信点亮屏幕
IM0由R1和R2两个电阻控制
stm32L073RZ+ILI9341 driver IC spi四线串行通信点亮屏幕
R1、R2、R5电阻如下图:
stm32L073RZ+ILI9341 driver IC spi四线串行通信点亮屏幕
实际位置如下图:
stm32L073RZ+ILI9341 driver IC spi四线串行通信点亮屏幕
所以最后把R1电阻去掉,把R2、R5补个0欧电阻就行了。

spi四线需要接哪些线

The 4-line serial mode consists of the Data/Command selection
input (D/CX), chip enable input (CSX), the serial clock input (SCL) and serial data Input/Output (SDA or
SDI/SDO) for data transmission. The data bus (D [17:0]), which are not used, must be connected to GND. Serial
clock (SCL) is used for interface with MCU only, so it can be stopped when no communication is necessary.

文章提到:需要D/C、CS、SCL、SDA(MOSI),暂时不需要MISO,目前只用来写数据到ILI9341。我在网上找的驱动代码是需要一个RESET pin的,所以再加上一个RESET pin,接线如下:
STM32 LCD
3V3 ---------------------- 3V3
GND --------------------- GND
PB_4 --------------------- WR
PB_5 --------------------- MOSI
PB_3 --------------------- RS
PA_12 --------------------- CS
PA_15 --------------------- RST

软件

代码是我从网上找的,所以才会是上面的接线方法,我相信大神的代码肯定没问题的,编译后烧录到nucleo-64,完美显示:
stm32L073RZ+ILI9341 driver IC spi四线串行通信点亮屏幕

相关资源下载

2.4寸IPS液晶屏整理资料_TK024F3041.zip
文章中使用的代码