看了原子哥的视频,真的羡慕现在学STM32的同学,以前学MSP430的时候,都是自己跌跌撞撞摸索出来的,那时候买到一个OLED的模块,给的都是STM32的代码,那时候水平不够也看不懂,就自己啃数据手册、参考网上代码走了很多弯路。 这次以原子哥讲的TFTLCD为例,整理出学习模块的一个思路。
1. 是什么
首先了解自己这块屏幕的一些性能,以及屏幕的分辨率、颜色显示等等。 正点原子的官网提高了相应的学习资料.
2. 原理图
刚开始写驱动的时候,感觉不用很了解模块内部的一些电路,只要知道外接引脚的一些说明,提供的资料中没有详细介绍接口引脚的说明,我在这里做一个表格。
序号 | 名称 | 功能 |
---|
1 | LCD_CS | LCD片选信号 | 3 | LCD_WR | LCD写信号 | 5 | LCD_RST | 硬复位LCD信号 | 6 - 21 | DB[17:1] | 16位双向数据线 | 23 | BL_CTR | 背光控制信号 | 2 | LCD_RS | 命令/数据标志 (0:命令,1:数据) | 4 | LCD_RD | LCD读信号 | 24 | BL_VDD | 背光电源 | 29 - 34 | T_MISO/T_MOSI/T_PEN/T_CS/T_CLK | 触摸屏接口信号 |
3. 驱动时序
这个在数据手册中有非常详细的解释:
可以大致总结为: WR为上升沿,RS高写数据,RS低写命令; RD为上升沿,RS高随机读取命令或数据?
在看完基本逻辑关系后,还可以查看它的电气特性时序图,在芯片手册232页,可以知道数据读写的快慢。
4. 驱动流程
5. 颜色格式
数据手册82页,7.6.8. 16-bit Parallel RGB Interface : GRAM:液晶屏的内存,是像素矩阵的数据缓存,控制它就是控制液晶屏上面的画面。 但这和正点原子换了一种描述方法:
不够很奇怪的是,如果按照官方手册的描述,那D12应该不起作用,然而在原理图那里少了一个DB9,那传数据的时候应该那种方式呢?
6. 重要指令
指令 | 作用 | 页数 | 备注 |
---|
0XD3 | LCD_CS | LCD片选信号 | | 0X36 | LCD_WR | LCD写信号 | | 0X2A | LCD_RST | 硬复位LCD信号 | | 0X2B | DB[17:1] | 16位双向数据线 | | 0X2C | BL_CTR | 背光控制信号 | | 0X2E | LCD_RS | 命令/数据标志 (0:命令,1:数据) | |
明天根据数据手册再看一下指令,再把第二个视频看了
|