博客
关于我
ILI9341几个重要的命令
阅读量:388 次
发布时间:2019-03-05

本文共 1248 字,大约阅读时间需要 4 分钟。

STM32F1开发指南--库函数版

1. 读取ID指令(0XD3)

读取LCD控制器的ID指令用于确定LCD驱动器型号。该指令如表1所示,0XD3指令后面跟了4个参数,其中最后2个参数读出的值为0X93和0X41。这正是用于ILI9341的数字部分,通过该指令可判别所用的LCD驱动器型号,从而选择对应驱动IC进行初始化,实现对多款LCD屏的兼容性。

表1 0XD3指令描述
参数说明 含义
- -

2. 存储访问控制指令(0X36)

该指令用于控制ILI9341存储器的读写方向。在进行GRAM连续写操作时,可通过该指令设置GRAM指针的增长方向,从而控制显示方式。表2所示,0X36指令后面紧跟一个参数,主要关注MY、MX、MV这三个位。通过这三个位的设置,可控制整个ILI9341的全部扫描方向,如表3所示。

表2 0X36指令描述
参数说明 含义
- -
表3 MY、MX、MV设置与LCD扫描方向关系表
MY位 MX位 MV位 扫描方向
0 0 0 从左到右,从上到下
0 0 1 从右到左,从上到下
0 1 0 从左到右,从下到上
0 1 1 从右到左,从下到上

3. 列地址设置指令(0X2A)

该指令用于设置横坐标(x坐标)。带有4个参数,实际上是设置SC和EC两个坐标值。SC为列地址的起始值,EC为列地址的结束值。SC必须小于等于EC,且0≤SC/EC≤239。一般只需设置SC即可,因为EC没有变化时,只需初始化设置即可,提高速度。

表4 0X2A指令描述
参数说明 含义
- -

4. 页地址设置指令(0X2B)

该指令用于设置纵坐标(y坐标)。带有4个参数,实际上是设置SP和EP两个坐标值。SP为页地址的起始值,EP为页地址的结束值。SP必须小于等于EP,且0≤SP/EP≤319。一般只需设置SP即可,因为EP没有变化时,只需初始化设置即可,提高速度。

表5 0X2B指令描述
参数说明 含义
- -

5. 写入GRAM指令(0X2C)

该指令用于向LCD的GRAM中写入颜色数据。发送该指令后,才能向GRAM中写入颜色数据。该指令支持连续写。表6所示,指令发送后,数据有效位宽变为16位,GRAM地址将根据MY/MX/MV设置的扫描方向进行自增。

表6 0X2C指令描述
参数说明 含义
- -

6. 读取GRAM指令(0X2E)

该指令用于读取ILI9341的显存(GRAM)。表7所示,指令发送后,首次输出为dummy数据(无效数据),第二次开始读取有效GRAM数据。输出规律为:每个颜色分量占8个位,一次输出2个颜色分量。例如:第一次输出为R1G1,随后的规律为B1R2→G2B2→R3G3→B3R4→G4B4→R5G5... 如此循环。如果只需读取一个点的颜色值,可接收到参数3即可。如果需要连续读取,可按照上述规律接收颜色数据。

表7 0X2E指令描述
参数说明 含义
- -

以上是操作ILI9341常用的几个指令,通过这些指令可以很好地控制显示功能。

转载地址:http://oxjzz.baihongyu.com/

你可能感兴趣的文章
Cassandra与Kubernetes
查看>>
.NET应用框架架构设计实践 - 概述
查看>>
比Django官方实现更好的分页组件+Bootstrap整合
查看>>
Fast and easy high resolution fractals with a pixel shader
查看>>
Rust 内置 trait :PartialEq 和 Eq
查看>>
Hibernate(十四)抓取策略
查看>>
Mybatis入门之增删改查
查看>>
[菜鸟的设计模式之旅]观察者模式
查看>>
Spring-继承JdbcDaoSupport类后简化配置文件内容
查看>>
Java基础IO流(一)
查看>>
Hibernate入门(二)——hibernateAPI详解
查看>>
Hibernate入门(四)---------一级缓存
查看>>
MySQL事务(学习笔记)
查看>>
一个web前端开发者的日常唠叨
查看>>
内存分配-slab分配器
查看>>
技术写作技巧分享:我是如何从写作小白成长为多平台优秀作者的?
查看>>
Jupyter Notebook 暗色自定义主题
查看>>
[Python学习笔记]组织文件
查看>>
DCL之单例模式
查看>>
什么?你竟然还没有用这几个chrome插件?
查看>>