在点屏过程中经常会碰到需要通过SPI接口对Driver IC下初始化代码后才能点亮,常见于LVDS、RGB屏,那如何在LcdTools上编写PX01 SPI初始化代码呢?
通过LcdTools帮助文档可以查看SPI指令的详细描述,SPI读写指令描述如下:
PX01 SPI接口定义及与屏连接方法请参考LcdTools帮助文档中的“接口描述”下“SPI接口”章节,下面对指令中的参数做一下含义描述:
1. “wire”-> <几线制>参数
用于声明SPI总线使用的是几线制,这里的线包括数据线SDI( 屏端SPI数据输入端),时钟线SCK(屏端SPI时钟输入口),片选线CS(屏端SPI片选信号输入口),数据命令选择线DCX(屏端SPI数据和命令选择输入口)四根信号线,SDO(屏端SPI数据输出口)不在这个计算范围;SPI接口通常
有两种:3线制和4线制,指令中用“WIRE3”和“WIRE4”来表示。
3线制包含的信号线有:数据线SDI,时钟线SCK,片选线CS;
4线制包含的信号线有:数据线SDI,时钟线SCK,片选线CS,数据命令选择线DCX;
3线制中屏是如何区分数据和命令的呢?有两种方式:
a) 固定9bit格式数据(即“BIT9” 9位数据模式),高位在前,地位在后,最高位为0表示命令,最高位为1表示数据,参考下面9位模式波形示意图;
b) 8bit数据格式,Drvier IC自己定义,这种方法需要在写指令时把命令数据处理好;常见的有两种(其他的不一一列举):
第一种是8bit数据中,固定高几位用于识别是数据还是命令;
第二种就是用多个数据来设置后面的数据格式,有点类似协议方式。
2. “bitn”-> <参数位数>
用于声明发送数据的单位位数,所以指令写入参数的时候需要注意(其中9bit模式下不需要写最高位,PX01会自动添加),有8位、9位和16位三种模式,指令中用“BIT8”、“BIT9”和“BIT16”来表示,如下图
a) 8位模式
b) 9位模式
c) 16位模式
3. “cmdlen”-> <命令个数>
用于指定命令参数的个数;在写指令SpiWrite()指令中,<命令个数>参数用于声明9bit模式或者4线制模式下发送命令参数的个数N,指令中在它之后跟随的数据就是N个命令参数;
在读指令SpiRead()指令中,<命令个数>用于声明在读取SPI数据前需要发送数据的个数N,指令中在它之后跟随的数据就是N个命令参数。
标签:命令,--,线制,SPI,指令,LcdTools,数据 From: https://www.cnblogs.com/xk-image/p/16839296.html