介绍
最近在学习TFT液晶,然后我用的是正点原子的板子,但是我看不明白正点原子的视频,在B站上看的野火的视频(有投币的,嘿嘿)。野火的视频很详细,我挺喜欢的,然后野火的代码的移植性超级好,也很好理解。(点赞,下次一定买板子)。
我用的2.8寸ILI9341驱动的TFT液晶,就是买板子上带的那块,野火的液晶也是用的ILI9341驱动像素点都是240 * 320 ,这个是可以设置的后面会提到。都用FSMC模拟8080时序需要改动的地方不大。然后下面是代码移植
移植
注意
这里只用到了显示,所以没有管触摸屏。需要改的地方主要有:
1.数据地址 我的板子上用的是PG0,我的是战舰板子,这个是液晶的DC端口,接的时候有必须为FSMC的一个地址线。霸道用的是PE2。
2.复位 正点原子的复位直接接的复位按键,就直接把代码中的复位相关的注释掉,包括时钟,端口宏定义,复位函数和初始化函数中的调用
2.背光 背光引脚用的是PB0,这里野火的背光的开和关是反着的(神奇神奇)所以除了改引脚外还要改背光函数。
3.显示 我的板子是倒着显示的,需要改一下液晶屏扫描模式,初始化函数和主函数都有调用液晶屏扫描模式函数,直接改主函数就会调过来。都改也行。
4.还有一点就是烧写程序后需要按复位才会运行,我用的·是ST_LINK就会有冲突,但是直接供电运行的话就没什么问题。
操作
用的是这个源码,可以在野火大学堂下载到。野火大学堂还有很多图书的PDF版。
首先 bsp_ili9341_lcd.h
这里多左移一位是为了地址对齐。上面也有计算公式,B站上也有野火的视频讲得很清除。
背光和复位
bsp_ili9341_lcd.c
复位时钟
这个宏是关于背光函数的一共有8种方式,会在初始化函数调用,主函数也会有掉用这个函数,直接改主函数,会覆盖掉初始化的配置。
最后说一下像素点的问题,初始化函数会调用一个命令配置参数,会在屏幕上画窗口,就是这个·就可以使用了。可以看一下。
在上面这个函数中找到下面这个(函数有点长)
这就是画窗口的配置了。画出了像素点。
移植好的代码
链接:https://pan.baidu.com/s/16T42S1tNhkRoXVIxZMwdLg
提取码:1234
复制这段内容后打开百度网盘手机App,操作更方便哦