LcdTools指令集

变量列表

1.vcom  用于FLICKER校准时的VCOM值的缓存变量,16bit

2. otptimes  用于存放已烧录次数值的缓存变量,8bit

3. rd0~rd255  用于存放读取数据的缓存变量,16bit,所有读取指令调用读取的时候都是存放在该缓存中,读取数值每次存放位置都是从0开始,整个数组变量名用 rd 调用

4. var0~var19   用于运算处理的通用变量,16bit,整个数组变量名用 var 调用

5. edrd0~edrd255  用于存放EDID读取值的缓存变量,16bit,整个数组变量名用 edrd 调用

6. lvar0~lvar19  用于运算处理的通用变量,32bit,整个数组变量名用 lvar 调用

主要函数

以下为LcdTools实现功能的主要函数,上下电函数不能缺少,其他函数没有需求可以不加,函数不能重复声明定义。

1. PwrOnSequence(){}  上电时序函数,用于时序上电时序和初始化代码配置等操作,不能缺少。

2. PwrOffSequence(){}  下电时序函数,用于时序下电时序等操作,不能缺少。

3. SetVcomToLcm(){}     用于实现写vcom到LCM寄存器,自动vcom烧录时需编写。

4. ReadOtpTimes(){}      用于实现读取LCM已烧录次数,对于烧录功能有次数判断时需编写。

5. ReadOtpVcom(){}      用于实现读取LCM中已当前vcom值,自动vcom烧录时需编写。

6. BurnOtp(){}      实现OTP烧录流程,如vcom烧录、全代码烧录及一些其他定制烧录功能。

7. SleepSequence(){}     实现LCM进入sleep in模式函数,在切SLEEP画面时调用的就是这个函数,实现模组进入睡眠动作。

8. SleepOutSequence(){}  实现LCM进入sleep in模式后唤醒的函数,一般用于在测试睡眠电流后进行唤醒动作,继续测试其他功能。

9. OtpValueCheck(){}      实现烧录值检测功能,用于开机检测判断,根据实际需求编写。

10. PatTestCode(){}    画面指令测试函数,可以设置切换到指定画面时运行对应指令进行测试。

11. AgingPatTest(){}    实现自定义流程画面,比如周期交替固定延时显示一系列画面,通常用作老化测试。

12. Tp_I2C_Init(){}      TP测试IIC端口初始化。

13. Tp_I2C_Run(){}    TP测试IIC报点解析。

14. Tp_SPI_Init(){}      TP测试SPI端口初始化。

15. Tp_SPI_Run(){}     TP测试SPI报点解析。

16. UserFunc1(){}        用户自定义函数,备用,可以用于定制测试功能。

17. UserFunc2(){}     用户自定义函数,备用,可以用于定制测试功能。

18. UserFunc3(){}     用户自定义函数,备用,可以用于定制测试功能。

19. UserFunc4(){}     用户自定义函数,备用,可以用于定制测试功能。

20. UserFunc5(){}     用户自定义函数,备用,可以用于定制测试功能。

20. UserFunc6(){}     用户自定义函数,备用,可以用于定制测试功能。

指令列表

1. SetOutIOVCC(ctrl,dly) ---- 控制电源IOVCC输出开关

2. SetOutVCI(ctrl,dly) ---- 控制电源VCI输出开关

3. SetOutVSP(ctrl,dly) ---- 控制电源VSP输出开关

4. SetOutVSN(ctrl,dly) ---- 控制电源VSN输出开关

5. SetOutVCOM(ctrl,dly) ---- 控制电源VCOM输出开关

6. SetOutAVDD(ctrl,dly) ---- 控制电源AVDD输出开关

7. SetOutVGH(ctrl,dly) ---- 控制VGH输出开关

8. SetOutVGL(ctrl,dly) ---- 控制电源VGL输出开关

9. SetOutBL(ctrl,dly) ---- 控制背光电源BL输出开关

10. SetLcmBL(ctrl,duty) ---- 控制背光电源BL输出开关及控制信号PWM占空比

11. SetLcmRst(logic,dly) ---- 控制LCM复位信号

12. MipiWrite(mode,dat…) ---- MIPI写数据

13. MipiRead(mode,dat...,cnt) ---- MIPI读数据

14. I2cWrite(sla,subaddr,submode,dat…) ---- IIC写数据

15. I2cRead(sla,subaddr,submode,cnt) ---- IIC读数据

16. SpiWrite(wire,bitn,cmdlen,cmd,…,dat…) ---- SPI写数据

17. SpiRead(wire,bitn,dummy,cmdlen,cmd,…,cnt) ---- SPI读数据

18. Delay(dly) ---- 单位ms延时函数 同delayms()

19. SetMipiMode(mode) ---- 设置MIPI速率模式

20. SetGPIO(chl,logic,dly) ---- 设置用户扩展GPIO端口逻辑电平

21. LogicOpera(type,mode,opera1,opera2) ---- 逻辑运算

22. LogicMove(type,mode,opera1,opera2) ---- 逻辑移位

23. ArthiOpera(type,mode,opera1,opera2) ---- 算术运算

24. MatchAssign(mode1,opera1,set,mode2,opera2,match) ---- 匹配赋值

25. ShowPattern(item) ---- 显示指定位置用户定制PATTERN(画面)

26. InitBridge() ---- 初始化桥接芯片,用于点MIPI屏初始化SSD2828

27. ReadbufCheck(type,pos,dat1,…) ---- 接口读数缓存参数比较(MIPI SPI IIC都支持)

28. LcmShowInfoEn(ctrl) ---- LCM信息显示使能控制

29. SetBufCheckInfo(info1,info2) ---- 设置读数缓存数据检测结果显示信息

30. ReadbufMatch(pos,cnt,dat1,dat2,…) ---- 匹配读数缓存数值

31. SetReadInfo(info) ---- 用于设定端口读信息显示

32. SetFailAlarm(ctrl) ---- 用于控制测试异常蜂鸣器长鸣报警是否打开

33. CheckAdc(ch,low,high) ---- 用于测量电压值并判定结果

34. SetFindVcomEn(ctrl) ---- 用于设置VCOM查询使能

35. SetSpiDataPort(ctrl) ---- 用于设置SPI接口类型屏数据口数

36. SetBridgeStandby() ---- 用于设置桥接芯片进入空闲态

37. SetRGBStandby(ctrl) ---- 用于设置RGB信号进入空闲态

38. SetOtpKeyLockEn(ctrl) ---- 用于设置测试失败后OTP按键是否锁死

39. SetTestFailLockEn(ctrl) ---- 用于设置测试失败后按键是否锁死

40. SetTestFailStopEn(ctrl) ---- 用于设置测试失败结束测试使能

41. Set2828Reg(addr,data) ---- 用于设置2828寄存器

42. SetOtpDoneShow(type,item) ---- 用于设置OTP结果显示信息类别

43. SetTestInfoShowPos(type,pos) ---- 用于设置测试结果结果显示信息位置

44. SetGammaTestMode(mode) ---- 用于设置GAMMA测试流程步进模式

45. SetFlkStableTime(dly) ---- 用于设置flicker测试前稳定等待时间

46. SetOutVDD(ctrl,dly) ---- 用于设置+5V输出控制

47. SetOutTPVCC(ctrl,dly) ---- 用于设置TP_VCC输出控制

48. SetOutTPIOVCC(ctrl,dly) ---- 用于设置TP_IOVCC输出控制

49. SetPatTestCodeItem(item) ---- 用于设置PAT测试指令生效PAT编号

50. SetPatTestCodeOrder(order) ---- 用于设置PAT测试指令生效顺序

51. SetPatBlCurrent(curr) ---- 用于PAT测试指令时,针对不同画面设定不同背光电流值

52. SetBlCurrent(curr) ---- 用于设置背光电流值

53. SetTpIntValidLevel(lel) ---- 用于设置TP INT有效电平

54. SetDebugInfoShowEn(en) ---- 用于设置debug信息是否打印到上位机

55. CheckFlicker(type,limit) ---- 用于FLICKER探头参数测试

56. SetFlickerLvLimit(limit) ---- 用于设置自动FLICKER,探头进行最佳VCOM搜寻时,LV下限设定

57. SetCmpEDID(dat0,dat1,…) ---- 设置EDID比较值,用于EDP屏EDID检测

58. CheckEDID() ---- EDID比对测试

59. If(val) ---- 判断语句

60. Else() ---- 判断指令的其他情况执行指令

61. EndIf() ---- 判断语句结束指令

62. LogicCmp(var,type,mode1,cmp1,mode2,cmp2) ---- 逻辑比较指令

63. LcdMessageShow(color,str) ---- 用于显示字符串到PG 小屏消息栏

64. SetFrameRate(rate) ---- 用于设置帧刷新率

65. SetSDA(logic,dly) ---- 控制IIC SDA信号电平

66. SetSCL(logic,dly) ---- 控制IIC SCL信号电平

67. LcmPrint(fcor,bcor,x,y,str[],dat…) ---- 打印信息到LCM

68. ReadbufCmp(dest,type,pos,dat…) ---- 比较读数缓存数据

69. McuWrite(dat…) ---- MCU接口写数据

70. McuRead(reg,cnt) ---- MCU接口读数据

71. SetMcuCmdMode(mode) ---- 设置MCU命令格式8位或16位

72. SetTestResult(res) ---- 设置测试结果

73. Loop(cnt) ---- 循环执行命令

74. EndLoop() ---- 循环执行结束命令

75. AgingPattern(pat,val…,dly) ---- 老化画面

76. ReadBridgeSel(chl) 或 SetBridgeChannel(chl) ---- 选择需要读取的桥接芯片编号

77. SetHfp(hfp) ---- 指令动态设置HFP值

78. SetHbp(hfp) ---- 指令动态设置HBP值

79. SetHsw(hsw) ---- 指令动态设置HSync值

80. SetVfp(vfp) ---- 指令动态设置VFP值

81. SetVbp(vfp) ---- 指令动态设置VBP值

82. SetVsw(vsw) ---- 指令动态设置VSync值

83. SetKeySwitchPatLoopEn(en) ---- 按键循环切换画面使能控制

84. SetOtpDoneCheckType(type) ---- OTP完成检测类别 ,用于设置OTP完成后检测OTP次数还是OTP值来判断OTP是否成功

85. SetI2cClkSpeed(speed) ---- 用于设置IIC通信时钟速率

86. SetAutoPlayEn(en) ---- 用于控制 自动播放 按键功能开启或者关闭

87. WriteDPCD(addr_H,addr_L,dat) ---- 写DPCD寄存器

88. ReadDPCD(addr_H,addr_L) ---- 读DPCD寄存器

89. AuxI2cWrite(slaaddr,regaddr,submode,dat...) ---- AUX IIC写数据操作

90. AuxI2cRead(slaaddr,regaddr,submode,cnt) ---- AUX IIC读数据操作

91. SetEdidCheckInfoShowEn (en) ---- 控制EDP类屏EDID比对详细数据显示使能

92. SetBlCurrentTestType (type) ---- 设置多路背光模块测试电流方式

93. SetBlCurrentTestChlEn (chl) ---- 设置多路背光模块单路测试时,分路测试允许控制

94. SetTpIfType (type) ---- 设置TP测试通信接口类型选择,选择IIC还是SPI接口

95. SetTpRst (logic,dly) ---- 设置TP RESET端口电平输出

96. SetEdidRdShowEn (en) ---- 设置EDID比对结果是否显示使能

97. SetPatternPara (item,type,val0,val1,val2,val3,val4,val5) ---- 设置定制画面参数

98. SetSpiSdi (logic,dly) ---- 设置SPI SDI口逻辑输出

99. SetSpiCs (logic,dly) ---- 设置SPI CS口逻辑输出

100. SetSpiSck (logic,dly) ---- 设置SPI SCK口逻辑输出

101. SwitchPwrCurrentRange (ir,pwr…) ---- 设置电源通道电流测量量程(mA档或uA档)

102. BreakLoop() ---- LOOP循环退出

103. SetEdpDrvEdgeMode (mode) ---- 设置EDP屏驱动边沿采样模式,单沿还是双沿

104. WaitKeyPress (key) ---- 等待按键按下

105. SetTestResultColor (res,fcolor,bcolor) ---- 设置测试结果显示颜色

106. SetEdpBistEnable (en) ---- EDP屏BIST点亮使能控制

107. SetOtpDonePwrOff (en) ---- 设置OTP完成是否关机

108. SetOutVLIN (ctrl,dly) ---- 设置电源VLIN打开或关闭,OLED屏供电VLIN

109. SetAllPatTestEnable (ctrl) ---- 设置全画面检测控制

110. SetBridgeApbReg (reg,dataH,dataL) ---- 设置桥接芯片(2830)APB寄存器值

111. SetBridgeRst (lel,dly) ---- 设置桥接芯片复位信号电平

112. SetOutVideo (ctrl,dly) ---- 设置图像信号输出控制

113. SetPwrOff2PwrOnDly (dly) ---- 设置关机到开机延时等待时间

114. SetTpTestEnable (ctrl) ---- 设置TP测试使能

115. SetLcmPwr(chl,val) ---- 设置电源输出电压

116. SetSpiClkSpeed(speed) ---- 设置SPI接口时钟速度等级

117. GetBridgeReg(reg) ---- 获取桥接芯片寄存器值

118. GetBridgeApbReg(reg) ---- 获取桥接芯片APB寄存器值

119. SetAutoReadVcomOtptimesEn(ctrl) ---- 设置开机后是否自动读取当前VCOM值和烧录次数值(在使能烧录的情况下)

120. SetVcomStart(val) ---- 用于设置自动Flicker查找起始VCOM值

121. SetBLEn(ctrl) ---- 背光驱动模式为恒压模式时

122. SetTeTestDelay(dly) ---- 设置TE采样延时等待稳定时间

123. SetPwmTestDelay(dly) ---- 设置PWM采样延时等待稳定时间

124. SetLockSecTimeOverBeep(ctrl) ---- 设置锁秒时间完成提示声音控制使能

125. SetEdpSpeedMode(mode) ---- 设置EDP高速速率模式

126. SetTestFailPwrOff(ctrl) ---- 设置测试失败关机使能

127. SetFlkPatSetItem(item) ---- 指定定制画面自动Flicker调整

128. CheckNtc(chl,low,high) ---- NTC测试

129. CheckBL() ---- 背光电流电压测试测试

130. SetOtpDoneRestartEn(ctrl) ---- 设置烧录完毕是否重新点亮屏(下电再上电动作)

131. SetOutBeep(ctrl,dly) ---- 控制蜂鸣器是否响

132. MipiLearn(ctrl) ---- 控制PG是否是进行学习代码功能,用于读取IC全代码转成初始化代码格式

133. SetMipiAutoHighSpeed(ctrl) ---- 控制PG开机之后或者烧录完毕之后,是否自动进入MIPI 高速模式

134. SetSpiCsMode(mode) ---- 设置SPI接口CS信号控制模式

135.SetOtpDoneSwitchNextPat(ctrl) ---- 设置烧录完毕OK之后是否切到下一个画面,只对指定画面Flicker有效

136.MemCpy(dest,st1,source,st2,count) ---- 用于变量缓存指定拷贝

137. SetOtpReadSpeedMode(mode) ---- 设置MIPI屏OTP读取时用高速还是低速模式

138.  SetMultiFindVcomEn(ctrl) ---- 设置自动Flicker是否进行多次查找最佳值比对后再烧录

139. SetBLPwm(duty,freq) ---- 设置背光输出PMW占空比和频率

140. SetFlkPrePatItem (item,stabletime) ---- 设置FLK测试预显画面编号

141. SetLcmPrintFont (font) ---- 设置显示到LCM字符大小

142. SetEdidNumMode (mode) ---- 设置EDID数据个数模式

143. SetMcuCsMode (mode) ---- 设置MCU CS控制信号模式

144. SetMcuColorMode (mode) ---- 设置MCU 接口显示颜色模式

145. SetMcuBppMode (mode) ---- 设置MCU 接口显示BPP模式

146. ReadSdBinFile(file) ---- 读取SD卡中BIN文件数据

147. ReadbufAdd(dest,source,start,count) ---- 数据缓存中累加

148. SetSpiSckIdleSta(sta) ---- 设置SPI接口SCK信号在空闲时的电平状态

149. SpiSdiIdleSta(sta) ---- 设置SPI接口SDI信号在空闲时的电平状态

150. SetSpiSdiReadSta(sta) ---- 设置SPI接口SDI信号在读取数据时的输出电平状态

151. SetPwrTestLimit(chl,volt_L,volt_H,curr_L,curr_H) ---- 设置电源测试上下限值

152. PrepareDP() ---- 准备DP通道,为DP数据操作做准备

153. SetRGBBitsReverse(ctrl) ---- 设置RGB数据位是否反转,即最高位和最低位位置倒序

154. SetPatTestCodeEnable(en) ---- 设置画面测试指令是否有效

155. SetBLAutoOnEnable(en) ---- 设置上电背光自动打开使能

156. SetFlickerFrameRate(rate) ---- 用于设置F119 Flicker探头采样刷新率

157. SetMaskEDID(dat...) ---- 用于设置EDID测试屏蔽位

158. SetEdpAuxI2cOperaMode(mode) ---- 用于设置EDP接口AUX IIC读写模式,如连续模式还是分次收发模式

159. SetAutoPlay(ctrl) ---- 用于设置自动播放开关

160. LongDataOpera(type,mode,opera1,opera2) ---- 长整型运算

161. VarBufCmp(dest,type,cmp1,st1,cmp2,st2,cnt) ---- 变量逻辑比较

162. SetFlickerProbType(type) ---- 用于设置探头类型

163. SSD2828SpiWriteCmd(cmd) ---- 用于SSD2828 SPI写命令(即寄存器地址),配合SSD2828SpiWriteData()使用来实现对2828的寄存器配置

164. SSD2828SpiWriteData(dat) ---- 用于SSD2828 SPI写数据,配合SSD2828SpiWriteCmd()使用来实现对2828的寄存器配置

165. SetMipiVideoClkSuspend(ctrl) ---- 用于设置SSD2828发送图像空闲时CLK是否停止

166. Set4PartPclkPhaseDelay(pha1,pha2,pha3,pha4) ---- 用于设置L180M 四路信号相位

167. SetSpiSdc(logic,dly) ---- 设置SPI SCK口逻辑输出

指令解释

1. SetOutIOVCC(ctrl,dly)

[功能] 控制电源IOVCC输出开关。
[格式] SetOutIOVCC(<控制>,<延时>),ctrl控制字用“ON”来表示打开,“OFF”表示关闭;dly延时时间为控制IOVCC后延时等待时间,单位为mS,最大65535。
[例子] SetOutIOVCC(ON, 100);  //表示开启电源IOVCC输出,之后等待100mS。

2. SetOutVCI(ctrl,dly)

[功能] 控制电源VCI输出开关。
[格式] 格式描述如 SetOutIOVCC()。
[例子]  SetOutVCI(ON,100);  //表示开启电源VCI输出,之后等待100mS。

3. SetOutVSP(ctrl,dly)

[功能] 控制电源VSP输出开关。指令SetOutELVDD同功能。
[格式] 格式描述如 SetOutIOVCC()。
[例子] SetOutVSP(ON,100);  //表示开启电源VSP输出,之后等待100mS。

4. SetOutVSN(ctrl,dly)

[功能] 控制电源VSN输出开关。指令SetOutELVSS同功能。
[格式] 格式描述如 SetOutIOVCC()。
[例子] SetOutVSN(ON,100);  //表示开启电源VSN输出,之后等待100mS。

5. SetOutVCOM(ctrl,dly)

[功能] 控制电源VCOM输出开关。
[格式] 格式描述如 SetOutIOVCC()。
[例子] SetOutVCOM(ON,100);  //表示开启电源VCOM输出,之后等待100mS。

6. SetOutAVDD(ctrl,dly)

[功能] 控制电源AVDD输出开关。
[格式] 格式描述如 SetOutIOVCC()。
[例子] SetOutAVDD(ON,100);  //表示开启电源AVDD输出,之后等待100mS。

7. SetOutVGH(ctrl,dly)

[功能] 控制VGH输出开关。
[格式] 格式描述如 SetOutIOVCC()。
[例子]  SetOutVGH(ON,100);  //表示开启电源VGH输出,之后等待100mS。

8. SetOutVGL(ctrl,dly)

[功能] 控制电源VGL输出开关。
[格式] 格式描述如 SetOutIOVCC()。
[例子] SetOutVGL(ON,100);  //表示开启电源VGL输出,之后等待100mS。

9. SetOutBL(ctrl,dly)

[功能] 控制背光电源BL输出开关。
[格式] 格式描述如 SetOutIOVCC ()。
[例子] SetOutBL(ON,100);  //表示开启背光电源BL输出,之后等待100mS。

10. SetLcmBL(ctrl,duty)

[功能] 控制背光电源BL输出开关及控制信号PWM占空比。
[格式] SetLcmBL(<控制>,<占空比>),ctrl控制用“ON”来表示打开,“OFF”表示关闭;duty背光控制信号PWM占空比,设置范围0~100,单位%。
[例子] SetLcmBL(ON,63);  //表示LCM背光打开,控制信号PWM占空比63%(恒流80mA输出量程时,对应输出40mA,注:不同恒流模块会有不同的对应关系)。

11. SetLcmRst(logic,dly)

[功能] 控制LCM复位信号。
[格式] SetLcmRst(<逻辑电平>,<延时>),logic控制用“1”来表示高,“0”表示低;dly延时时间为控制RST后延时等待时间,单位为mS。
[例子] SetLcmRst(0,100);  //表示LCM复位拉低,之后等待100mS。

12. MipiWrite(mode,dat…)

[功能] MIPI写数据。
[格式] MipiWrite(<数据模式>,<寄存器>,<数据1>,…),数据模式用“GEN”或“Gen”来表示Generic模式,用“DCS”来表示DCS模式;后面第一个参数为寄存器地址,8bit数,支持十进制和十六进制表示方式;如果寄存器要写多个参数,则在寄 存 器地址参数后依次列出要写参数,以“,”分隔。
[例子] MipiWrite(DCS,0x11);  //以DCS模式写指令0x11,LCM退出休眠模式。
     MipiWrite(Gen,0xB6, 0x33,0xDB,0x80,0x12,0x00); //以Genric模式往寄存器0xb6写入5个参数。

   MipiWrite(Gen,0xC1,var,0,10);  //以Genric模式往寄存器0xC1连续写入var0~var9共十个变量参数。

更详细的MIPI相关知识和示例,请查阅:LcdTools如何编写初始化代码之--MIPI指令 - XKphone--15002088355 - 博客园 (cnblogs.com)

     PX01入门之--如何点亮MIPI屏 - XKphone--15002088355 - 博客园 (cnblogs.com)

     MIPI-DSI协议 - XKphone--15002088355 - 博客园 (cnblogs.com)

13. MipiRead(mode,dat...,cnt)

[功能] MIPI读数据。
[格式] MipiRead(<数据模式>,<数据1>,…,<读取个数>),数据模式用“GEN”或“Gen”来表示Generic模式,用“DCS”来表示DCS模式;后面第一个参数为寄存器地址,8bit数,支持十进制和十六进制表示方式;寄存器地址后可带参数,DCS读模式没有参数,Generic模式最多可以带两个参数;最后一个参数为MIPI读取参数个数,支持十进制和十六进制数,范围1~255。
[例子] MipiRead(Gen,0xD1,  5);              //以Genric模式从寄存器0xD1读取5个值。
          MipiRead(Gen,0x80,0x021);       //寄存器0x80,带一个参数0x02,读1个值。

     更详细的MIPI相关知识和示例,请查阅:LcdTools如何编写初始化代码之--MIPI指令 - XKphone--15002088355 - 博客园 (cnblogs.com)

     PX01入门之--如何点亮MIPI屏 - XKphone--15002088355 - 博客园 (cnblogs.com)

     MIPI-DSI协议 - XKphone--15002088355 - 博客园 (cnblogs.com)

14. I2cWrite(sla,subaddr,submode,dat…)

[功能] IIC写数据。
[格式] I2cWrite(<从机地址>,<子地址>,<子地址模式>,<参数1>,…),从机地址为7位地址,支持十进制和十六进制数;子地址为16位数,低8位为一级子地址,高8位为二级子地址,如果操作没有子地址模式,则该数随便填写一个正确的数字,如0x00;子地址模式用“SUBADDR0”“SUBADDR1”“SUBADDR2”来分别表示无子地址,一个子地址,两个子地址;参数为8位,支持十进制和十六进制表示方式。
[例子] I2cWrite(0x45,0x01, SUBADDR1, 0xa0,0x01); //设备地址(7bit)0x45的0x01寄存器中写入两个参数。

     I2cWrite(0x45,0x01SUBADDR10xa0,var,0,10);  //设备地址(7bit)0x45的0x01寄存器中连续写入var0~var9共十个变量参数。

     更详细的应用示例,请查阅:LcdTools如何编写初始化代码之--IIC指令 - XKphone--15002088355 - 博客园 (cnblogs.com)

     PX01关于手机屏IIC触摸调试学习笔记 - XKphone--15002088355 - 博客园 (cnblogs.com)

15. I2cRead(sla,subaddr,submode,cnt)

[功能] IIC读数据。
[格式] I2cRead(<从机地址>,<子地址>,<子地址模式>,<读取个数>),从机地址为7位地址,支持十进制和十六进制数;子地址为16位数,低8位为一级子地址,高8位为二级子地址,如果操作没有子地址模式,则该数随便填写一个正确的数字,如0x00;子地址模式用“SUBADDR0” “SUBADDR1” “SUBADDR2” "SUBADDRN"来分别表示无子地址,一个子地址,两个子地址,多个参数;参数为8位,支持十进制和十六进制表示方式。
[例子] I2cRead(0x45,0x01, SUBADDR1, 5); //设备地址(7bit)0x45的0x01寄存器中读取5个参数。

     更详细的应用示例,请查阅:LcdTools如何编写初始化代码之--IIC指令 - XKphone--15002088355 - 博客园 (cnblogs.com)

     PX01关于手机屏IIC触摸调试学习笔记 - XKphone--15002088355 - 博客园 (cnblogs.com)

16. SpiWrite(wire,bitn,cmdlen,cmd,…,dat…)

[功能] SPI写数据。
[格式] SpiWrite(<几线制>,<参数位数>,<命令个数>,<命令1>,…,<参数1>,…),线制用“WIRE3” “WIRE4”来表示三线和四线制;参数位数用“BIT8” “BIT9” “BIT16”来表示8位 9位和16位参数模式;命令个数,在3线9bit模式和4线8bit模式,参数有命令和数据之分,定义好命令个数,则在他之后的几个参数会以命令模式发送,其他参数则以数据模式发送,命令个数不管什么模式,最小为1;命令和参数支持8位或者16位数,支持十进制和十六进制表示方式。
[例子] SpiWrite(WIRE3,BIT8,1,0x04, 0x07); //SPI 以3线制8bit模式,1个命令0x04写参数0x07。

          SpiWrite(WIRE3,BIT9,1,0x04,var,0,10);  //SPI 以3线制9bit模式,1个命令0x04中连续写入var0~var9共十个变量参数。

     更详细的应用示例,请查阅:LcdTools如何编写初始化代码之--SPI指令 - XKphone--15002088355 - 博客园 (cnblogs.com)

     PX01关于手机屏SPI触摸调试学习笔记 - XKphone--15002088355 - 博客园 (cnblogs.com)

17. SpiRead(wire,bitn,dummy,cmdlen,cmd,…,cnt)

[功能] SPI读数据。
[格式] SpiRead(<几线制>,<参数位数>,<dummy时钟模式>,<命令个数>,<命令1>,…,<读取个数>),线制用“WIRE3” “WIRE4”来表示三线和四线制;参数位数用“BIT8” “BIT9” “BIT16”来表示8位、9位、16位参数模式;dummy时钟模式用“DUMMY0” “DUMMY1” “DUMMY2” “DUMMY3” “DUMMY4” “DUMMY5” “DUMMY6” “DUMMY7”表示读数据前发0、1、2、3、4、5、6、7个dummy时钟;命令个数,在3线9bit模式和4线8bit模式,参数有命令和数据之分,定义好命令个数,则在他之后的几个参数会以命令模式发送,其他参数则以数据模式发送,命令个数不管什么模式,最小为1;读取个数范围1~255。
[例子] SpiRead(WIRE3,BIT8,DUMMY1,1,0x0a, 2); //SPI 以3线制8bit模式,1个命令0x0a读取2个参数,读数据前发1个DUMMY时钟。

     更详细的应用示例,请查阅:LcdTools如何编写初始化代码之--SPI指令 - XKphone--15002088355 - 博客园 (cnblogs.com)

     PX01关于手机屏SPI触摸调试学习笔记 - XKphone--15002088355 - 博客园 (cnblogs.com)

18. Delay(dly)

[功能] 单位ms延时函数 同delayms()。
[格式] Delay(<延时>),ms延时,最大支持65535ms。
[例子] Delay(120); //延时120ms。

19. SetMipiMode(mode)

[功能] 设置MIPI速率模式。
[格式] SetMipiMode(<模式>),模式使用“HS” “LP”来表示高速和低速模式。
[例子] SetMipiMode(LP); //设置MIPI进入低速模式。

20. SetGPIO(chl,logic,dly)

[功能] 设置用户扩展GPIO端口逻辑电平。
[格式] SetGPIO(<通道>,<逻辑>,<延时>),通道有1~13通道,但不包括第5通道,详情见接口图;逻辑用“1”表示输出高电平,用“0”表示输出低电平;延时为控制逻辑后延时时间,单位ms。
[例子] SetGPIO(4,1, 200); //控制GPIO4输出高电平,延时200ms。

21. LogicOpera(type,mode,opera1,opera2)

[功能] 逻辑运算。
[格式] LogicOpera(<运算类型>,<模式>,<操作数1>,<操作数2>),逻辑运算类型有“AND” “OR” “NOT” “NAND” “NOR” “XOR” “XNOR”分别表示与 或 非 与非 或非 异或 同或;模式 0表示被操作数2为立即数,即实际数值;模式 1表示被操作数为变量,为指定变量中任意一个;操作数1为目的操作数,为指定变量中任意一个,运算完成后存于该变量中;操作数2为立即数或变量,参与运算。
[格式] LogicOpera(AND,0, rd0,0xff); //读数缓存第一个参数与0xff做逻辑与运算,结果存于rd0中,等于: rd0 &= 0xff。

 22. LogicMove(type,mode,opera1,opera2)

[功能] 逻辑移位。
[格式] LogicMove(<移位类型>,<模式>,<操作数1>,<操作数2>),逻辑移位类型有“LEFT” “RIGHT”分别表示左移和右移;模式 0表示被操作数2为立即数,即实际数值;模式 1表示被操作数为变量,为指定变量中任意一个;操作数1为目的操作数,为指定变量中任意一个,移位完成后存于该变量中;操作数2为立即数或变量,为移位位数值。
[例子] LogicMove(RIGHT,0, rd0,8); //读数缓存第一个参数右移8位,结果存于rd0中,等于: rd0 >>= 8。

 23. ArthiOpera(type,mode,opera1,opera2)

[功能] 算术运算。
[格式] ArthiOpera(<运算类型>,<模式>,<操作数1>,<操作数2>),算术运算类型有“ADD” “SUB” “MULT” “DIV” “TO”分别表示加 减 乘 除和赋值;模式 0表示操作数2为立即数,即实际数值;模式 1表示操作数2为变量,为指定变量中任意一个;操作数1为目的操作数,必须为指定变量中任意一个,运算结果存于该变量中;操作数2为立即数或变量,参与运算。
[例子] ArthiOpera(ADD,1, rd0,rd1); //读数缓存第一个参数与第二个参数相加,结果存于rd0中,等于: rd0 += rd1。

24. MatchAssign(mode1,opera1,set,mode2,opera2,match)

[功能] 匹配赋值。
[格式] MatchAssign(<模式1>,<操作数1>,<设定值>,<模式2>,<操作数2>,<匹配值>),模式1为 0表示设定值立即数,即实际数值,模式1为 1表示设定值为变量,为指定变量中任意一个;操作数1为目的操作数,为指定变量中任意一个,匹配赋值存于该变量中;模式2为 0表示匹配值立即数,即实际数值,模式2为 1表示匹配值为变量,为指定变量中任意一个;操作数2为变量,参与匹配。
[例子] MatchAssign(0,otptimes,1,0, rd0,0xfe); //表示当rd0值恒等于0xfe时,otptimes赋值1,表达式等于:if(rd0 == 0xfe)  otptimes = 1;。

25. ShowPattern(item)

[功能] 显示指定位置用户定制PATTERN。
[格式] ShowPattern (<PAT编号>),PAT编号最小值为1,1~PatNum(定制画面总数),表示显示指定定制画面;当取值大于定制画面总数上限(PX01定制画面上限50,E860为120)时,显示的为固定画面,(item-PatNumMax)值为1~5时,表示显示红、绿、蓝、黑、白,值大于5时显示图片Fxx.bmp,xx值为(item-PatNumMax-5);建议该指令只放在PwrOnSequence函数中,在需要自己定义显示PATTERN的时间点时使用该指令,如果不调用该指令,程序会自动按预设显示时序开启显示PATTERN,默认开机显示为用户定制画面第一个画面。
[例子] ShowPattern(1);  //显示用户定制画面第一个。
     ShowPattern(51);   //显示红色(PX01)
     ShowPattern(56);   //显示PICTURE F01.BMP(PX01)

     更详细的应用示例,请查阅:LcdTools 实现EDID显示及比对 - XKphone--15002088355 - 博客园 (cnblogs.com)

26. InitBridge()

[功能] 初始化桥接芯片,用于点MIPI屏初始化SSD2828。
[格式] InitBridge(),不带参数。
[例子] InitBridge(); //初始化桥接芯片。

27. ReadbufCheck(type,pos,dat1,…)

[功能] 接口读数缓存参数比较(MIPI SPI IIC都支持)。
[格式] ReadbufCheck(<比较方式>,<buf起始位置>,<data1>,…),比较方式可选相同和不同比较,用EQUAL和DIFFER表示;buf起始位置用于指示从读数缓存哪个开始比较,起始位置为0,最大不超过255;data1…为顺序比较数据,全部比较正确报OK,否则报NG并锁死。
[例子] ReadbufCheck(EQUAL,0,0xa0,0x11); //比较读数缓存从第一个数开始,前两个是是否是0xa0,0x11,若是报OK,不是报NG。

28. LcmShowInfoEn(ctrl)

[功能] LCM信息显示使能控制。
[格式] LcmShowInfoEn(<使能控制>),使能控制用"ENABLE"表示使能,"DISABLE"表示禁止,LCM在测试时有时一些测试信息会显示到被测LCM,但是如果被测LCM是压缩屏,此时可能会出现显示异常,用改指令关闭LCM信息显示可以避免,默认是打开的。
[例子] LcmShowInfoEn(DISABLE); //禁止LCM信息显示。

29. SetBufCheckInfo(info1,info2)

[功能] 设置读数缓存数据检测结果显示信息,如比较和匹配测试指令。。
[格式] SetBufCheckInfo (<比较成功显示字符串>,<比较失败显示字符串>),比较成功字符串用于设定ReadbufCheck()指令比较OK后显示信息,在PG小屏消息窗口显示;同理,比较失败显示字符串用于设定比较NG后显示信息。
[例子] SetBufCheckInfo("ID CHK OK","ID CHK NG"); //
     ReadbufCheck(0,0xa0,0x11);                            //读到第一、二个数为0xa0 0x11则显示“ID CHK OK”,表示比较成功;反之显示“ID CHK NG”,表示比较失败。

30. ReadbufMatch(pos,cnt,dat1,dat2,…)

[功能] 匹配读数缓存数值,可以匹配多组数据,用于检测读数缓存中指定位置的几个数是否为几组数中的一种,若存在则报OK,不存在报NG。
[格式] ReadbufMatch(<读数缓存数值起始位置>,<匹配数据个数>,<data1>,…),读数缓存数值起始位置最小为0,最大255;匹配数据个数最小为1,最大256,读数缓存控件大小为256,请注意起始位置和匹配个数不要超出范围;data为匹配数,以匹配个数为一组,可以填写多组。

[例子] SetBufCheckInfo("ID CHK OK","ID CHK NG");

   ReadbufMatch(0,3, 0xff,0xff,0xff); //从位置0开始匹配三个数,是否为0xff 0xff 0xff

      ReadbufMatch(0,3, 0x98,0x81,0x00, 0x98,0x81,0x02, 0x77,0x01,0x01); //从位置0开始匹配三个参数,是否为0x98 0x81 0x00或0x98 0x81 0x02或0x77 0x01 0x1三组中一组,如果有则匹配成功,不存在则报失败。

31. SetReadInfo(info)

[功能] 用于设定端口读信息显示,如在读取ID时用于指定读取数值为ID读取,可以设定相关显示信息。
[格式] SetReadInfo(<端口读取信息>),端口读取信息为指示后面端口读取时显示信息,用于指示端口读取类别,字符串长度不大于200。
[例子] SetReadInfo("RD ID ");    //指示后续端口读取为:RD ID,此信息和读取数据会在小屏消息窗口显示。

32. SetFailAlarm(ctrl)

[功能] 用于控制测试异常蜂鸣器长鸣报警是否打开,一般在上电时序函数开始处调用。
[格式] SetFailAlarm(<开启或关闭>),"ON"表示开启,"OFF"表示关闭。
[例子] SetFialAlarm(ON);   //开启测试NG蜂鸣器长鸣,直到开关键操作取消。

33. CheckAdc(ch,low,high)

[功能] 用于测量电压值并判定结果,便于用户自由测试指定端口电压。
[格式] CheckAdc(<通道号>,<下限>,<上限>),通道号有1和2,复用ID1和ID2接口;下限判定值单位mV,设定范围0~3300;上限判定值单位mV,设定范围0~3300。
[例子] CheckAdc(2,1500,1700);         //测试通道2电压,范围1.500V~1.700V,超出报NG。

34. SetFindVcomEn(ctrl)

[功能] 用于设置VCOM查询使能,比如需要烧全代码而不需要对VCOM查询时,可以禁止VCOM查询。
[格式] SetFindVcomEn(<开启或关闭>),"ENABLE"表示开启VCOM搜寻,默认是开启的,只要使能OTP烧录,按OTP按键则进行VCOM查询;"DISABLE"表示关闭VCOM搜寻。
[例子] SetFindVcomEn(DISABLE);      //关闭VCOM搜寻。

     更详细的应用示例,请查阅:PX01如何实现烧录函数调用--不进行Flicker调整,如烧全代码、烧固定vcom等 - XKphone--15002088355 - 博客园 (cnblogs.com)

35. SetSpiDataPort(ctrl)

[功能] 用于设置SPI接口类型屏数据口数,默认为单数据口。
[格式] SetSpiDataPort (<类型>),0表示单数据口,1表示双数据口,2表示四数据口(QSPI);注:只对于刷图像数据有用,读写寄存器还是单口
[例子] SetSpiDataPort(1); //设置SPI为双数据口。

36. SetBridgeStandby()

[功能] 用于设置桥接芯片进入空闲态,如果试MIPI则设置2828进入LP模式,在测试睡眠电流时使用。
[格式] SetBridgeStandby(),无参数。
[例子] SetBridgeStandby(); //设置桥接芯片进入空闲态。

37. SetRGBStandby(ctrl)

[功能] 用于设置RGB信号进入空闲态,即关闭GPU RGB输出。
[格式] SetRGBStandby(<控制>),"ON"表示使RGB进入空闲模式,即关闭RGB视频输出;“OFF”表示使RGB退出空闲模式,即打开RGB视频输出。
[例子] SetRGBStandby(ON); //设置RGB信号进入空闲态。

38. SetOtpKeyLockEn(ctrl)

[功能] 用于设置测试失败后OTP按键是否锁死,默认锁死使能。
[格式] SetOtpKeyLockEn(<开启或关闭>),“ENABLE”表示测试失败后OTP按键锁死;“DISABLE”表示测试失败或OTP按键不锁死。
[例子] SetOtpKeyLockEn(DISABLE);  //设置OTP按键在测试失败后不锁死。

39. SetTestFailLockEn(ctrl)

[功能] 用于设置测试失败后按键是否锁死,默认锁死使能。
[格式] SetTestFailLockEn(<开启或关闭>),“ENABLE”表示测试失败后所有按键(除开关键)锁死;“DISABLE”表示测试失败或按键不锁死。
[例子] SetTestFailLockEn(ENABLE);  //设置测试失败后锁死功能按键。

40. SetTestFailStopEn(ctrl)

[功能] 用于设置测试失败结束测试使能,后续测试功能不生效,默认禁止。
[格式] SetTestFailStopEn(<开启或关闭>),"ENALBE"表示测试失败后结束测试,后续测试不生效;"DISABLE"表示禁止测试失败结束,测试失败不影响其他功能测试进行。
[例子] SetTestFailStopEn(DISABLE); //设置测试失败结束禁止。

41. Set2828Reg(addr,data) 或 SetBridgeReg(addr,data)

[功能] 用于设置2828寄存器。
[格式] Set2828Reg(<寄存器地址>,<数据>),寄存器地址为8bit,数据为16bit。
[例子] Set2828Reg(0xd9,0x7ca0);     //设置d9寄存器值为9ca0。

     更详细的应用示例,请查阅:LcdTools如何自定义读写PX01 SSD2828寄存器 - XKphone--15002088355 - 博客园 (cnblogs.com)

42. SetOtpDoneShow(type,item)

[功能] 用于设置OTP结果显示信息类别。
[格式] SetOtpDoneShow(<OTP结果类别>,<显示信息类别>),OTP结果类别有 0:烧录成功,1:烧录失败,2:无烧录次数,3:VCOM查找失败;显示信息类别有 0:显示固定字符串信息到LCM,其他:显示对应编号图片(注:如果是烧录成功,图片编号为指定数加当前烧录次数值为图片编号,用于识别烧录成功后不同的烧录次数显示)。
[例子] SetOtpDoneShow(0,5);   //设置OTP烧录成功后,显示图片起始值为5,如果当前烧录次数是1一次,则显示的图片为5加1,则F06.BMP。

43. SetTestInfoShowPos(type,pos)

[功能] 用于设置测试结果结果显示信息位置,仅限于测试指令。
[格式] SetTestInfoShowPos(<测试类别类别>,<显示位置>),类别有 0:读缓存比较,1:读缓存匹配,2:ADC测试指令;3:OTP读取信息;4:OTP结果;5:ID1测试信息;6:ID2测试信息;7:TE测试信息;8:PWM频率测试信息;9:PWM占空比测试信息。显示位置:信息显示到LCM的纵向位置,字符位置(从0开始)。
[例子] SetTestInfoShowPos(0,5);       //设置读缓存比较结果显示到LCM第5行。

44. SetGammaTestMode(mode)

[功能] 用于设置GAMMA测试流程步进模式,注:此gamma为测试gamma采点用灰阶输出画面,见定制画面栏“Gamma”。
[格式] SetGammaTestMode(<步进模式>),模式有 0:如0->3->7…->255,出厂默认为该模式;1:如0->4->8…->255。
[例子] SetGammaTestMode(0);        //设置GAMMA测试步进模式为0模式。

45. SetFlkStableTime(dly)

[功能] 用于设置flicker测试前稳定等待时间。
[格式] SetFlkStableTime(<延时时间>),单位ms,最大20S。
[例子] SetFlkStableTime(5000);          //设置FLICKER测试前等待5S稳定。

46. SetOutVDD(ctrl,dly)

[功能] 用于设置+5V输出控制。
[格式] SetOutVDD(<开或关>,<延时稳定时间>),开关用“ON”和“OFF”表示;延时时间单位ms。
[例子] SetOutVDD(ON,10);        //设置+5V输出,等待10ms。

47. SetOutTPVCC(ctrl,dly)

[功能] 用于设置TP_VCC输出控制。
[格式] SetOutTPVCC(<开或关>,<延时稳定时间>),开关用“ON”和“OFF”表示;延时时间单位ms。
[例子] SetOutTPVCC(ON,10);    //设置TP_VCC输出,等待10ms。

48. SetOutTPIOVCC(ctrl,dly)

[功能] 用于设置TP_IOVCC输出控制。
[格式] SetOutTPIOVCC(<开或关>,<延时稳定时间>),开关用“ON”和“OFF”表示;延时时间单位ms。
[例子] SetOutTPIOVCC(ON,10);         //设置TP_VCC输出,等待10ms。

49. SetPatTestCodeItem(item)

[功能] 用于设置PAT测试指令生效PAT编号,注:该指令只用于PatTestCode()函数内。
[格式] SetPatTestCodeItem(<PAT编号>),PAT编号取值范围1~PAT总数。
[例子] SetPatTestCodeItem(2);                  //声明后续指令为切到PAT2的时候执行。

     更详细的应用示例,请查阅:PX01如何实现在指定定制画面下执行指令控制 - XKphone--15002088355 - 博客园 (cnblogs.com)

     LcdTools如何实现PX01设置不同的画面不同的背光亮度 - XKphone--15002088355 - 博客园 (cnblogs.com)

50. SetPatTestCodeOrder(order)

[功能] 用于设置PAT测试指令生效顺序,在切换画面输出前还是切换画面输出后执行,注:该指令只用于PatTestCode()函数内
[格式] SetPatTestCodeOrder(<生效顺序>),0表示在切换画面输出之前执行,1表示在画面输出切换之后执行。
[例子] SetPatTestCodeOrder(0);                 //声明后续指令在画面切换输出之前执行。

     更详细的应用示例,请查阅:PX01如何实现在指定定制画面下执行指令控制 - XKphone--15002088355 - 博客园 (cnblogs.com)

     LcdTools如何实现PX01设置不同的画面不同的背光亮度 - XKphone--15002088355 - 博客园 (cnblogs.com)

51. SetPatBlCurrent(curr)

[功能] 用于PAT测试指令时,针对不同画面设定不同背光电流值,注:该指令只用于PatTestCode()函数内。
[格式] SetPatBlCurrent (<电流值>),电流值单位为100uA,取值范围0~300,即0mA~30mA。
[例子] SetPatTestCodeItem(2);           //声明后续指令为切到PAT2的时候执行。
     SetPatBlCurrent(2);                  //设置画面2时背光电流为0.2mA

     更详细的应用示例,请查阅:LcdTools如何实现PX01设置不同的画面不同的背光亮度 - XKphone--15002088355 - 博客园 (cnblogs.com)

52. SetBlCurrent(curr)

[功能] 用于设置背光电流值。
[格式] SetBlCurrent(<电流值>),电流值单位为100uA,取值范围0~300,即0mA~30mA。
[例子] SetBlCurrent(100);          //设置背光电流为10mA

53. SetTpIntValidLevel(lel)

[功能] 用于设置TP INT有效电平。
[格式] SetTpIntValidLevel(<电平值>),0表示低电平有效,1表示高电平有效。
[例子] SetTpIntValidLevel(0);              //设置TP INT为低电平有效

54. SetDebugInfoShowEn(en)

[功能] 用于设置debug信息是否打印到上位机,在开机过程默认会上传信息,会占用时间。
[格式] SetDebugInfoShowEn(<开关>),“ENABLE”表示开启,“DISABLE”表示关闭。
[例子] SetDebugInfoShowEn(DISABLE);             //关闭DEBUG信息打印

55. CheckFlicker(type,limit_L,limit_H)

[功能] 用于FLICKER探头参数测试。
[格式] CheckFlicker(<测量类别>,<判定下限>,<判定上限>),测量类别"FMA"表示测FMA(%),"JEITA"表示测JEITA(dB),"LV"表示测LV;判定上限,用正整数表示,FMA和JEITA值放大100倍(即两位小数),LV放大10倍(即一位小数)。
[例子] CheckFlicker(FMA,0,500);                 //测量FMA,大于5.00%报NG

56. SetFlickerLvLimit(limit)

[功能] 用于设置自动FLICKER,探头进行最佳VCOM搜寻时,LV下限设定,小于设定值则不进行搜寻动作。
[格式] SetFlickerLvLimit (<下限>),下限值用正整数表示,放大10倍(即一位小数)。
[例子] SetFlickerLvLimit (50);               //设置LV下限为5.0,小于5.0则不进行VCOM搜寻

57. SetCmpEDID(dat0,dat1,…)

[功能] 设置EDID比较值,用于EDP屏EDID检测。
[格式] SetCmpEDID(<数据0>,<数据1>,…),十六进制单字节数,支持128和256个EDID比对值。
[例子] 略。

58. CheckEDID()

[功能] 测试EDID,使能PG在开机时读取EDP屏EDID值,并根据设置的比较值做对比,并报测试结果。
[格式] CheckEDID(),无参数。
[例子] CheckEDID();

     更详细的应用示例,请查阅:LcdTools如何使用PX01进行EDP屏EDID比对及设置显示EDID比对结果 - XKphone--15002088355 - 博客园 (cnblogs.com)

59. If(val)

[功能] 判断语句,用于判断val值,如果val值非零,则执行后面指令,可以和Else配合使用,结束必须要有EndIf;可以嵌套,最多支持255级嵌套判断。
[格式] If(<条件值>),条件值可以为实际参数,也可以为变量。
[例子] If(var0);   //判断var0值是否为非零
         …        //执行指令
     Else();     //否则执行另外指令
    …       //执行指令
     EndIf();   //结束

     更详细的应用示例,请查阅:LcdTools如何实现读取屏寄存器值进行比对判断 - XKphone--15002088355 - 博客园 (cnblogs.com)

60. Else()

[功能] 判断指令的其他情况执行指令,必须和If()指令配合使用,见If()指令说明。
[格式] Else(),无参数。
[例子] 见If()指令例子。

61. EndIf()

[功能] 判断语句结束指令,必须和If()指令配合使用,见If()指令说明。
[格式] EndIf(),无参数。
[例子] 见If()指令例子。

62. LogicCmp(var,type,mode1,cmp1,mode2,cmp2)

[功能] 逻辑比较指令,用于变量或常量等逻辑比较赋值,比较成立,变量var赋值1,比较不成立变量var赋值0,常用于判断指令条件赋值。
[格式] LogicCmp(<赋值变量>,<比较类型>,<比较模式1>,<比较数1>,<比较模式2>,<比较数2>),赋值变量为最终赋值的变量,必须为变量名;比较类型有:恒等于“EQ”、不等于“NE”、小于“LT”、小于等于“LE”、大于“GT”和大于等于“GE”;比较模式1用于指定比较数1类型,0表示比较数1为立即数也即实际数值,1表示比较数1为变量,此时比较数1必须为变量名;比较模式2和比较数2类同。
[例子] LogicCmp(var0, GE, 1,rd0, 0,0x55);                  //判断读数缓存第一个值rd0是否大于等于0x55,如果大于0x55则var0赋值1,否则var0赋值0,var0可以用于If(var0)中做判断条件。

     更详细的应用示例,请查阅:LcdTools如何实现读取屏寄存器值进行比对判断 - XKphone--15002088355 - 博客园 (cnblogs.com)

63. LcdMessageShow(color,str,dat...)

[功能] 用于显示字符串到PG 小屏消息栏。
[格式] LcdMessageShow(<颜色>,<字符串>,<数据..>),颜色设置字符串颜色,16位色,颜色排列方式R5G6B5;字符串长度不超过255个;打印数据可以是实数也可以是变量,打印结果为十六进制输出,如果不需要打印数据,数据参数可以不填写。
[例子] LcdMessageShow(0xf800,"TEST NG");   //PG小屏消息框显示红色字符串“TEST NG

     LcdMessageShow(0xf800,"Read data:",rd0,rd1);  //把端口读取到的前两个数据rd0 rd1打印到消息栏

64. SetFrameRate(rate)

[功能] 用于设置帧刷新率。
[格式] SetFrameRate(<刷新率>),刷新率取值不大于240整数。
[例子] SetFrameRate(120);                 //设置帧刷新率为120Hz

65. SetSDA(logic,dly)

[功能] 控制IIC SDA信号电平,把SDA用作GPIO口时使用该指令。
[格式] SetSDA(<逻辑电平>,<延时>),逻辑电平用“1”来表示高,“0”表示低;dly延时时间为控制SDA后延时等待时间,单位为mS。
[例子] SetSDA(0,100);  //表示SDA拉低,之后等待100mS。

66. SetSCL(logic,dly)

[功能] 控制IIC SCL信号电平,把SCL用作GPIO口时使用该指令。
[格式] SetSCL (<逻辑电平>,<延时>),逻辑电平用“1”来表示高,“0”表示低;dly延时时间为控制SCL后延时等待时间,单位为mS。
[例子] SetSCL (0,100);  //表示SCL拉低,之后等待100mS。

67. LcmPrint(fcor,bcor,x,y,str[],dat…)

[功能] 打印信息到LCM。
[格式] LcmPrint(<前景色>,<背景色>,<起始位置X>,<起始位置Y>,<字符串>,<数据…>),前景色和背景色为16位数,R5G6B5组成;起始位置和终止位置为字符位置,设定字符在LCM显示位置,默认为32点字符;字符串为显示字符串;打印数据可以是实数也可以是变量,打印结果为十六进制输出,如果不需要打印数据,dat参数可以不填写。
[例子] LcmPrint(0xf800,0x0000,0,1,"RD DATA:",rd0);  //打印读数缓存rd0到屏第二行第一列,黑色背景,红色字符,如rd0为0x02,显示结果:RD DATA:02

     LcmPrint(0xf800,0x0000,0,1,"TEST");  //打印字符串到屏第二行第一列,黑色背景,红色字符,显示结果:TEST

68. ReadbufCmp(dest,type,pos,dat…)

[功能] 比较读数缓存数据,可多个比较,用于If语句条件判断。
[格式] ReadbufCmp(<目的寄存器>,<比较类型>,<起始位置>,<数据…>),目的寄存器保存比较结果,只能用变量名,如var0;比较类型为相等或不等,用"EQUAL"和"DIFFER"表示;起始位置设定从读数缓存比较起始位置,0~255;数据为比较数据,数据个数1~256。
[例子] ReadbufCmp(var0,EQUAL,0, 0xaa,0x55);  //比较rd0 rd1值是否为0xaa 0x55,是则var0赋值1,否则var0赋值0;

     更详细的应用示例,请查阅:LcdTools如何实现读取屏寄存器值进行比对判断 - XKphone--15002088355 - 博客园 (cnblogs.com)

69. McuWrite(dat…)

[功能] MCU接口写数据,默认第一个数为命令或寄存器地址。
[格式] McuWrite(<数据…>),默认第一个数为命令或寄存器地址,数据个数1~256。
[例子] McuWrite(0x11);  //写命令0x11

70. McuRead(reg,cnt)

[功能] MCU接口读数据。
[格式] McuWrite(<寄存器地址>,<读数个数>),读数据个数1~256。
[例子] McuWrite(0x0A,1);  //从0A寄存器中读一个数。

71. SetMcuCmdMode(mode)

[功能] 设置MCU命令格式8位或16位。
[格式] SetMcuCmdMode(<命令模式>),0为8位命令,默认值;1为16为命令。
[例子] SetMcuCmdMode(1);  //设置MCU接口发送命令为16位格式。

72. SetTestResult(res)

[功能] 设置测试结果,PASS或者FAIL,通常用于指令判断参数或条件是否合格等测试。
[格式] SetTestResult(<测试结果>),"PASS"为通过,"FAIL"为不通过,会影响按键锁定。
[例子] SetTestResult(FAIL);  //设置测试失败。

     更详细的应用示例,请查阅:LcdTools如何实现读取屏寄存器值进行比对判断 - XKphone--15002088355 - 博客园 (cnblogs.com)

73. Loop(cnt)

[功能] 循环执行命令,必须与EndLoop()成对使用。
[格式] Loop(<循环次数>),循环次数,取值范围1~65535。
[例子] Loop(10);  //后续代码执行10次
    …        //执行代码
     EndLoop();

     更详细的应用示例,请查阅:LcdTools如何实现PX01读取SD中BIN文件并通过端口发出去 - XKphone--15002088355 - 博客园 (cnblogs.com)

     PX01如何实现自定义循环老化画面、开关机冲击及自动关机 - XKphone--15002088355 - 博客园 (cnblogs.com)

74. EndLoop()

[功能] 循环执行结束命令,必须与Loop()成对使用。
[格式] EndLoop(),无参数。
[例子] 见Loop() 样例。

75. AgingPattern(pat,val…,dly)

[功能] 老化画面,必须AgingPatTest()内使用才生效
[格式] AgingPattern(<画面编号>,<参数…>,<画面保持时间>),画面编号,见LcdTools软件画面资源栏,以PAT_加上画面名;参数为3个和6个两种,单色之内为3个参数,可以表示颜色,也可以表示灰度等级棋盘格数等;两个颜色为6个参数,排序为RGB;画面保持时间为该画面保持时间,之后再执行后面指令,单位ms,取值范围0~65535。
[例子] Loop(10);          //以下循环10次
       AgingPattern(PAT_Red, 0,0,0,1000);       //红色显示1S
       AgingPattern(PAT_Green,0,0,0,1000);   //绿色显示1S
       Loop(5);   //以下循环5次
         AgingPattern(PAT_White,0,0,0,2000); //白色显示2S
         AgingPattern(PAT_Black,0,0,0,1000);  //黑色显示1S
       EndLoop();
     EndLoop();

     更详细的应用示例,请查阅:PX01如何实现自定义循环老化画面、开关机冲击及自动关机 - XKphone--15002088355 - 博客园 (cnblogs.com)

76. ReadBridgeSel(chl) 或 SetBridgeChannel(chl)

[功能] 选择需要读取的桥接芯片编号,如双路MIPI读LCM参数时,可以选择读通道1还是通道2 LCM IC寄存器值。
[格式] ReadBridgeSel(<通道号>),通道号0表示选择选择通道1,默认值;通道号为1时选择通道2。
[例子] ReadBridgeSel(1);     
     MipiRead(Gen,0x0A,1);       //读取双通道MIPI LCM第2通道IC 0A寄存器值。

77.  SetHfp(hfp)

[功能] 指令动态设置HFP值,用于动态修改HFP值测试LCM功能。
[格式] SetHfp(<HFP值>),HFP值取值范围0~65535,注:H方向PORCH参数总和不能大于65535。
[例子] SetHfp(50);

78. SetHbp(hfp)

[功能] 指令动态设置HBP值,用于动态修改HBP值测试LCM功能。
[格式] SetHbp(<HBP值>),HBP值取值范围0~65535,注:H方向PORCH参数总和不能大于65535。
[例子] SetHbp(50);

79. SetHsw(hsw)

[功能] 指令动态设置HSync值,用于动态修改HSync值测试LCM功能。
[格式] SetHsw(<HSync值>),HSync值取值范围0~4095,注:H方向PORCH参数总和不能大于65535。
[例子]  SetHsw(50);

80. SetVfp(vfp)

[功能] 指令动态设置VFP值,用于动态修改VFP值测试LCM功能。
[格式] SetVfp(<VFP值>),VFP值取值范围0~65535,注:V方向PORCH参数总和不能大于65535。
[例子] SetVfp(7450);

81. SetVbp(vfp)

[功能] 指令动态设置VBP值,用于动态修改VBP值测试LCM功能。
[格式] SetVbp(<VBP值>),VBP值取值范围0~65535,注:V方向PORCH参数总和不能大于65535。
[例子] SetVbp(50);

82. SetVsw(vsw)

[功能] 指令动态设置VSync值,用于动态修改VSync值测试LCM功能。
[格式] SetVsw(<VSync值>),VSync值取值范围0~4095,注:V方向PORCH参数总和不能大于65535。
[例子] SetVsw(50);

83. SetKeySwitchPatLoopEn(en)

[功能] 按键循环切换画面使能控制,是否允许最后一个画面下切到第一个,或者第一个画面上切到最后一个画面。
[格式] SetKeySwitchPatLoopEn(<使能控制>),"ENABLE"表示开启循环切换,默认允许;"DISABLE"表示关闭循环切换功能。
[例子]  SetKeySwitchPatLoopEn(DISABLE); //关闭按键循环切换画面功能。

84. SetOtpDoneCheckType(type)

[功能] OTP完成检测类别,用于设置OTP完成后检测OTP次数还是OTP值来判断OTP是否成功。
[格式] SetOtpDoneCheckType(<检测类型>),0表示OTP完成检测烧录次数是否增加一次表示烧录成功,默认值;1表示OTP完成后,读取烧录值是否一致来判断是否烧录成功,2表示同时检测VCOM是否一致以及烧录次数是否增加,3表示不做任何检测,由用于自行在程序中判断。
[例子] SetOtpDoneCheckType(1); //设置OTP完成后检测烧录值来判断是否烧录成功。 

85. SetI2cClkSpeed(speed)

[功能] 用于设置IIC通信时钟速率,解决通信信号不强速率上不来导致通信异常情况,可以调整IIC速率,通常是降低时钟速率,提高稳定性。
[格式] SetI2cClkSpeed(<速率代码>),速率代码取值范围0~20,值越小表示速率越快,默认值为2,建议取值不要小于2。
[例子] SetI2cClkSpeed(4);  

86. SetAutoPlayEn(en)

[功能] 用于控制 自动播放 按键功能开启或者关闭。
[格式] SetAutoPlayEn(<控制使能>),"ENABLE"表示自动播放按键允许,默认值;"DISABLE"表示关闭自动播放按键功能,此时按自动播放键无效。
[例子] SetAutoPlayEn(DISABLE);       //关闭自动播放按键功能 

87. WriteDPCD(addr_H,addr_L,dat)

[功能] 写DPCD寄存器,EDP类屏写操作。
[格式] WriteDPCD(<32位地址高16位>,<32位地址低16位>,<8bit数据>),写地址为32bit类型,需分两个16bit代入;写入数据只支持1byte。
[例子] WriteDPCD(0x000F,0xFFFF,0x04);  //地址0x000FFFFF写入数据0x04。 

     关于WriteDPCD更详细的应用示例,请查阅:LcdTools如何编写EDP接口的AUX指令--DPCD、AuxIIC通信 - XKphone--15002088355 - 博客园

88. ReadDPCD(addr_H,addr_L)

[功能] 读DPCD寄存器,EDP类屏读操作。
[格式] ReadDPCD(<32位地址高16位>,<32位地址低16位>),读地址为32bit类型,需分两个16bit代入;只支持读取1byte数据。
[例子] ReadDPCD(0x000F,0xFFFF);  //读地址0x000FFFFF数据。 

     关于ReadDPCD更详细的应用示例,请查阅:LcdTools如何编写EDP接口的AUX指令--DPCD、AuxIIC通信 - XKphone--15002088355 - 博客园

89. AuxI2cWrite(slaaddr,regaddr,submode,dat...)

[功能] AUX IIC写数据操作,EDP类屏写操作。
[格式] AuxI2cWrite (<从机地址>,<子地址>,<子地址模式>,<写入数据…>),从机地址为8位地址,注意区分;子地址为16bit类型,如果只有一个子地址,则低8位为子地址,如果有两个子地址,则高8位为第一子地址,低8位位第二子地址;子地址模式用"SUBADDR0"  "SUBADDR1" "SUBADDR2"来表示无子地址、一个子地址和两个子地址;写入数据只支持8bit类型数据,最多支持256个数据写入。
[例子] AuxI2cWrite(0x94, 0xf4,SUBADDR1, 0x9f);  //从机0x94,子地址0xf4写入0x9f。  

     关于AuxI2cWrite更详细的应用示例,请查阅:LcdTools如何编写EDP接口的AUX指令--DPCD、AuxIIC通信 - XKphone--15002088355 - 博客园 (cnblogs.com)

90. AuxI2cRead(slaaddr,regaddr,submode,cnt)

[功能] AUX IIC读数据操作,EDP类屏读操作。
[格式]  AuxI2cRead(<从机地址>,<子地址>,<子地址模式>,<参数>,<读数据个数>),从机地址为8位地址,注意区分;子地址为16bit类型,如果只有一个子地址,则低8位为子地址,如果有两个子地址,则高8位为第一子地址,低8位位第二子地址;子地址模式用"SUBADDR0"  "SUBADDR1" "SUBADDR2" "SUBADDRN"来表示无子地址、一个子地址、两个子地址、多个子地址参数;参数为8bit数,如果选择多个子地址模式则填写;最后一个为读取个数,最多支持256个数据读取。
[例子] AuxI2cRead(0x9E, 0x0E,SUBADDR01);  //从机0x9E,读取1byte数。

     关于AuxI2cRead更详细的应用示例,请查阅:LcdTools如何编写EDP接口的AUX指令--DPCD、AuxIIC通信 - XKphone--15002088355 - 博客园 (cnblogs.com)

91. SetEdidCheckInfoShowEn(en)

[功能] 控制EDP类屏EDID比对详细数据显示使能。
[格式] SetEdidCheckInfoShowEn(<使能控制>),用"ENABLE"来使能EDID比对详细数据显示;"DISABLE"关闭EDID比对详细数据显示;注:需显示详细比对信息,在上电时序函数中需在CheckEDID()指令之前加ShowPattern(50+n)预设画面输出才会有显示,否则会被定制画面第一个画面替换,会看不到比对信息。
[例子] SetEdidCheckInfoShowEn(ENABLE);  //开启EDID比对详细信息显示。 

     更详细的应用示例,请查阅:LcdTools如何使用PX01进行EDP屏EDID比对及设置显示EDID比对结果 - XKphone--15002088355 - 博客园 (cnblogs.com)

92. SetBlCurrentTestType(type)

[功能] 设置多路背光模块测试电流方式,单路测试还是总电流测试。
[格式] SetBlCurrentTestType(<测试类型>),0表示测试背光单路电流,默认值;设置1表示测试背光总电流。
[例子] SetBlCurrentTestType(1);  //设置多路背光模块监控总电流。

93.  SetBlCurrentTestChlEn(chl)

[功能] 设置多路背光模块单路测试时,分路测试允许控制。
[格式] SetBlCurrentTestChlEn(<测试通道>),测试通道允许控制为16bit类型数据,bit15~bit0对应背光分路16~1,每bit逻辑为1表示该分路允许测试,逻辑为0表示该分路禁止测试。
[例子] SetBlCurrentTestChlEn(0x0f);  //设置多路背光模块只测试1~4分路电流。 

94. SetTpIfType(type)

[功能] 设置TP测试通信接口类型选择,选择IIC还是SPI接口。
[格式] SetTpIfType(<接口类型>),0表示TP通信接口为IIC模式,默认值;1表示TP通信接口为SPI接口。
[例子] SetTpIfType(0);  //设置TP通信接口为IIC接口。 

95. SetTpRst(logic,dly)

[功能] 设置TP RESET端口电平输出。
[格式] SetTpRst(<逻辑电平>,<延时时间>),逻辑电平用0表示输出低,1表示输出高;延时时间取值0~65535,单位为ms;注:在定制画面有添加TP类画面时,PG在PWR ON时会自动调用TP INIT,TP INIT中有TP RESET控制,可能会强制设置TP RESET电平。
[例子] SetTpRst(0,10);  //设置TP RESET输出低之后延时10ms。 

96. SetEdidRdShowEn(en)

[功能] 设置EDID比对结果是否显示使能。
[格式] SetEdidRdShowEn (<使能控制>),用"ENABLE"表示开启EDID比对结果显示使能,"DISABLE"关闭显示。
[例子] SetEdidRdShowEn (ENABLE);  //开启EDID比对结果显示 

     更详细的应用示例,请查阅:LcdTools 实现EDID显示及比对 - XKphone--15002088355 - 博客园 (cnblogs.com)

97. SetPatternPara(item,type,val0,val1,val2,val3,val4,val5)

[功能] 设置定制画面参数,可用于动态修改指定定制画面参数,如画面类型等。
[格式] SetPatternPara(<画面编号>,<画面类型>,<参数0…>),画面编号为点屏工程定制画面列表中编号;画面类型见LcdTools软件画面资源栏,以PAT_加上画面名,可在关键字中查找;参数0~5为定制画面附属参数,可以表示两种颜色值,排列为RGB RGB,也可以表示灰阶值,用VAL0表示,可以表示行列数,如棋盘格,VAL0表示行数,VAL1表示列数;未涉及参数可不关系,填任意值均可,参数取值范围不超过255。
[例子] SetPatternPara(1, PAT_CrosstalkColor ,0xff,0x00,0x00, 0x00,0xff,0x00);   //设置定制画面1为彩色CROSSTALK,窗口颜色红色,背景颜色为绿色

98. SetSpiSdi(logic,dly)

[功能] 设置SPI SDI口逻辑输出。
[格式] SetSpiSdi(<逻辑>,<延时>),逻辑用1表示高电平,0表示低电平;延时时间单位为mS,最大不超过65535mS,延时时间为逻辑输出后延时。
[例子] SetSpiSdi(1, 5);  //SPI SDI口输出高电平后并延时5mS

99. SetSpiCs(logic,dly)

[功能] 设置SPI CS口逻辑输出。
[格式] SetSpiCs(<逻辑>,<延时>),逻辑用1表示高电平,0表示低电平;延时时间单位为mS,最大不超过65535mS,延时时间为逻辑输出后延时。
[例子] SetSpiCs(1, 5);  //SPI CS口输出高电平后并延时5mS

100. SetSpiSck(logic,dly)

[功能] 设置SPI SCK口逻辑输出。
[格式] SetSpiSck(<逻辑>,<延时>),逻辑用1表示高电平,0表示低电平;延时时间单位为mS,最大不超过65535mS,延时时间为逻辑输出后延时。
[例子] SetSpiSck(1, 5);  //SPI SCK口输出高电平后并延时5mS

101. SwitchPwrCurrentRange(ir,pwr…)

[功能] 设置电源通道电流测量量程(mA档或uA档),一般用于进睡眠函数中。
[格式] SwitchPwrCurrentRange (<档位>,<电源通道…>),档位用"uA"和"mA"分别表示微安档和毫安档;电源通道用电源通道关键字表示,"VCI" "IOVCC" "VSP" "VSN" "AVDD" "VGH" "VGL" "VCOM",如:VCI表示电源输出通道VCI;注:如果电源通道不指定,那么设置的是所有电源通道的档位,如果有指定,那么设置的就是指定通道的档位;如果进睡眠函数中没有用这条指令指定电源切档位,那么PG在切到进睡眠时默认把所有电源切到uA档。
[例子] SwitchPwrCurrentRange(uA, IOVCC,VSP,VSN);  //切IOVCC VSP VSN进uA档测量

102. BreakLoop()

[功能] LOOP循环退出。
[格式] BreakLoop(),无参数。
[例子] Loop(10);
       If(var0);
         BreakLoop();
      //do something

           EndLoop(); 

     更详细的应用示例,请查阅:LcdTools如何实现PX01读取SD中BIN文件并通过端口发出去 - XKphone--15002088355 - 博客园 (cnblogs.com)

103. SetEdpDrvEdgeMode(mode)

[功能] 设置EDP屏驱动边沿采样模式,单沿还是双沿。
[格式] SetEdpDrvEdgeMode(<模式>),模式0,自动单双沿;模式1,强制双沿;模式2,强制单沿。
[例子] SetEdpDrvEdgeMode(2);  //单沿模式

104. WaitKeyPress(key)

[功能] 等待按键按下。
[格式] WaitKeyPress(<按键>),按键0表示OTP按键,1表示开关按键,2表示上切按键,3表示下切按键。
[例子] WaitKeyPress(0);      //等待OTP按键按下 

105. SetTestResultColor(res,fcolor,bcolor)

[功能] 设置测试结果显示颜色,字符前景色和背景色。
[格式] SetTestResultColor(<测试结果类型>,<前景色>,<背景色>),结果类型用"PASS"和"FAIL"来设置,前景色和背景色用一个字节表示,0表示黑色,1为红色,2为绿色,3为蓝色,4为黄色,5为紫色,6为青色,7为白色,8为127灰色,9为63灰色。
[例子] SetTestResultColor(PASS, 0,7);        //测试通过字符显示为白底黑字

106. SetEdpBistEnable(en)

[功能] EDP屏BIST点亮使能控制。
[格式] SetEdpBistEnable(<使能开关>),"ENABLE"表示开启BIST点亮,"DISABLE"表示不开启BIST点亮。
[例子] SetEdpBistEnable(ENABLE);    //EDP接口屏开启BIST点亮模式

107. SetOtpDonePwrOff(en)

[功能] 设置OTP完成是否关机。
[格式] SetOtpDonePwrOff(<使能开关>),"ON"表示使能OTP完成自动关机,"OFF"表示禁止OTP完成自动关机(注:该功能只在OTP完成OK情况下生效,NG时不生效)。
[例子] SetOtpDonePwrOff(ON);          //OTP完成自动关机 

108. SetOutVLIN(ctrl,dly)

[功能] 设置电源VLIN打开或关闭,OLED屏供电VLIN。
[格式] SetOutVLIN(<开启或关闭>,<延时时间>),用"ON"和"OFF"来设置打开或者关闭,延时时间单位mS,最大60000mS。
[例子] SetOutVLIN(ON,10); //打开电源VLIN后延时10mS。 

109. SetAllPatTestEnable(ctrl)

[功能] 设置全画面检测控制,开启后必须检测完所有画面才能关机,期间并锁上切键。
[格式] SetAllPatTestEnable(<开启或关闭>),用"ENABLE"和"DISABLE"来设置打开或者关闭。
[例子] SetAllPatTestEnable(ENABLE); //使能全画面检测功能。 

110. SetBridgeApbReg(reg,dataH,dataL)

[功能] 设置桥接芯片(2830)APB寄存器值。
[格式] SetBridgeApbReg(<16位寄存器值>,<高16位数据>,<低16位数据>)。
[例子] SetBridgeApbReg(0x0000,0x0000,0x0001);    //APB寄存器0x0000写数据0x0000001。

111.  SetBridgeRst(lel,dly)

[功能] 设置桥接芯片复位信号电平。
[格式] SetBridgeRst(<电平值>,<延时时间>),电平以1表示高电平,0表示低电平;延时时间单位mS,最大60000mS。
[例子] SetBridgeRst(0,100);//设置桥接芯片复位信号输出低电平并延时等待100mS。 

112. SetOutVideo(ctrl,dly)

[功能] 设置图像信号输出控制。
[格式] SetOutVideo (<开关控制>,<延时时间>),以”ON“表示开启,”OFF“表示关闭;延时时间单位mS,最大60000mS。
[例子] SetOutVideo(ON,100);//开启图像信号输出并延时等待100mS。

113. SetPwrOff2PwrOnDly(dly)

[功能] 设置关机到开机延时等待时间(基于模组特性要求,上电和下电间隔时间不能太小)。
[格式] SetPwrOff2PwrOnDly(<延时时间>),延时时间单位mS,最大60000mS。
[例子] SetPwrOff2PwrOnDly(500);//设置关机到开机延时时间为500mS。 

114. SetTpTestEnable(ctrl)

[功能] 设置TP测试使能,开启后可以测试TP(如触摸屏切画面,需固件支持TP报点)。
[格式] SetTpTestEnable(<开关控制>),"ENABLE"表示开启,"DISABLE"表示关闭。
[例子] SetTpTestEnable(ENABLE);  //开启TP测试功能。 

115. SetLcmPwr(chl,val)

[功能] 设置电源输出电压。
[格式] SetLcmPwr(<电源通道>,<设置值>),电源通道用“VCI”,“IOVCC”,“VSP”,“VSN”,“AVDD”,“VCOM”,“VGH”,“VGL”来指示;电压设置值为十进制整形值,单位为mV。
[例子] SetLcmPwr(VCI,3600);//设置VCI电压为3.600V。 

116. SetSpiClkSpeed(speed)

[功能] 设置SPI接口时钟速度等级。
[格式] SetSpiClkSpeed(<速度等级>),速度等级值为十进制整形值,默认值为6,取值范围0~65535,值越大,clk速度越慢。
[例子] SetSpiClkSpeed(6);//设置SPI接口时钟速度等级为6,约为400KHz左右。

117. GetBridgeReg(reg)

[功能] 获取桥接芯片寄存器值,如SSD2828寄存器,该指令主要用于调试,可通过上位机打印出指定桥接芯片寄存器值。
[格式] GetBridgeReg(<寄存器地址>),寄存器地址为整形值,建议用十六进制值写入。
[例子] GetBridgeReg(0xBA);//读取桥接芯片寄存器0xBA当前值。 

118. GetBridgeApbReg(reg)

[功能] 获取桥接芯片APB寄存器值,如SSD2830 APB寄存器,该指令主要用于调试,可通过上位机打印出指定桥接芯片寄存器值。
[格式] GetBridgeApbReg (<寄存器地址>),寄存器地址为十六位整形值,建议用十六进制值写入。
[例子] GetBridgeApbReg (0x100C);//读取桥接芯片APB寄存器0x100C当前值。 

119. SetAutoReadVcomOtptimesEn(ctrl)

[功能] 设置开机后是否自动读取当前VCOM值和烧录次数值(在使能烧录的情况下),此功能默认是打开的。
[格式] SetAutoReadVcomOtptimesEn(<控制>),控制值用“ENABLE”使能,“DISABLE”禁止。
[例子] SetAutoReadVcomOtptimesEn(DISABLE);//禁止开机自动读取VCOM值和烧录次数值。

120. SetVcomStart(val)

[功能] 用于设置自动Flicker查找起始VCOM值。
[格式] SetVcomStart (<VCOM值>),VCOM值为整型值,支持8bit和16bit,取值范围0~32767。
[例子] SetVcomStart (0x56);//设置自动Flicker查找起始VCOM值为0x56。

121. SetBLEn(ctrl)

[功能] 背光驱动模式为恒压模式时,用于单独控制BL_EN信号。
[格式] SetBLEn(<逻辑>,<延时>),逻辑用1表示高电平,0表示低电平;延时时间单位为mS,最大不超过65535mS,延时时间为逻辑输出后延时。
[例子] SetBLEn(1, 5); //BL En口输出高电平后并延时5mS

122. SetTeTestDelay(dly)

[功能] 设置TE采样延时等待稳定时间。
[格式] SetTeTestDelay(<延时>),延时值为整形值,取值0~65535,单位为mS。
[例子] SetTeTestDelay(100);//设置TE测试采样等待延时100mS。 

123. SetPwmTestDelay(dly)

[功能] 设置PWM采样延时等待稳定时间。
[格式] SetPwmTestDelay(<延时>),延时值为整形值,取值0~65535,单位为mS。
[例子] SetPwmTestDelay(100);//设置PWM测试采样等待延时100mS。

124. SetLockSecTimeOverBeep(ctrl)

[功能] 设置锁秒时间完成提示声音控制使能。
[格式] SetLockSecTimeOverBeep(<控制>),控制值用“ON”表示开启,“OFF”表示关闭,默认是处于关闭状态。
[例子] SetLockSecTimeOverBeep(ON);//开启锁秒完成发出提示音。

125. SetEdpSpeedMode(mode)

[功能] 设置EDP高速速率模式。
[格式] SetEdpSpeedMode(<模式>),"EDP_SPEED_RBR"表示1.62G,"EDP_SPEED_HBR"表示2.7G,"EDP_SPEED_HBR2"表示5.4G,"EDP_SPEED_HBR3"表示8.1G。
[例子] SetEdpSpeedMode(EDP_SPEED_HBR2);  //设置EDP以5.4G点屏。

126. SetTestFailPwrOff(ctrl)

[功能] 设置测试失败关机使能。
[格式] SetTestFailPwrOff(<控制>),控制用“ON”来使能功能,用“OFF”来关闭功能。
[例子] SetTestFailPwrOff(ON);//使能测试失败自动关机功能。

127. SetFlkPatSetItem(item)

[功能] 指定定制画面自动Flicker调整,此情况下,如果关闭自动查找VCOM功能,则切到指定画面,可通过上下切来手动调VCOM。
[格式] SetFlkPatSetItem(<画面编号>),画面编号为整形值,取值范围0~定制画面总数。
[例子] SetFlkPatSetItem(5);//指定定制画面5进行Flicker调整,一般指定画面为Flicker画面。 

  更详细的例程,请参考:PX01如何实现不使用探头的情况下手动调节vcom烧录 - XKphone--15002088355 - 博客园 (cnblogs.com)

128. CheckNtc(chl,low,high)

[功能] NTC测试,需接口电路NTC脚上拉10K到3.3V接到ID1测试口,NTC另一端接地;
[格式] CheckNtc(<通道号>,<下限>,<上限>),NTC测量卡控上下限,单位Ω,最大值65535。
[例子] CheckNtc(0,5000,15000);//测试NTC通道0值是否正常,单次测试。 

129. CheckBL()

[功能] 背光电流电压测试测试,用于上电单次测试,测量卡控可以通过上位机界面设置。
[格式] CheckBL(),无参数。
[例子] CheckBL();  //测试背光电压电流值是否正常,单次测试。 

130. SetOtpDoneRestartEn(ctrl)

[功能] 设置烧录完毕是否重新点亮屏(下电再上电动作)。
[格式] SetOtpDoneRestartEn (<控制>),控制值用“ENABLE”表示开启,用“DISABLE”表示关闭;默认是打开的。
[例子] SetOtpDoneRestartEn(DISABLE);//关闭烧录完毕自动重新点亮屏。 

131. SetOutBeep(ctrl,dly)

[功能] 控制蜂鸣器是否响。
[格式] SetOutBeep(<控制>,<时间>),控制值用“ON”开启,用“OFF”表示关闭;时间为动作之后延时,整形值,单位mS,取值范围0~65535。
[例子] SetOutBeep(ON,100);//蜂鸣器响,后延时100mS再往后运行。 

132. MipiLearn(ctrl)

[功能] 控制PG是否是进行学习代码功能,用于读取IC全代码转成初始化代码格式,如开启该功能后,对IC寄存器的所有读写参数会自动生产写指令,用于生成初始化代码。
[格式] MipiLearn(<控制>),控制值用“ON”开启,用“OFF”表示关闭。
[例子] MipiLearn(ON);  //开启MIPI自动学习功能,即后续MIPI写和MIPI读出来的参数都自动转成写指令打印在消息端口。 

133. SetMipiAutoHighSpeed(ctrl)

[功能] 控制PG开机之后或者烧录完毕之后,是否自动进入MIPI 高速模式。
[格式] SetMipiAutoHighSpeed(<控制>),控制值用“ON”开启,用“OFF”表示关闭,默认是关闭的。
[例子] SetMipiAutoHighSpeed(ON);//开启MIPI自动进高速模式。

134. SetSpiCsMode(mode)

[功能] 设置SPI接口CS信号控制模式。
[格式] SetSpiCsMode(<模式>),模式0表示SPI接口单指令多数据CS为连续模式,1为每个字节单独有效,2表示CS用户自行控制(通过调用CS控制指令来实现);默认为连续模式。
[例子] SetSpiCsMode(1);//设置SPI CS为字节单独有效模式。

135.SetOtpDoneSwitchNextPat(ctrl)

[功能] 设置烧录完毕OK之后是否切到下一个画面,只对指定画面Flicker有效
[格式] SetOtpDoneSwitchNextPat(<控制>),控制值用“ON”开启,用“OFF”表示关闭;默认为开启的。
[例子] SetOtpDoneSwitchNextPat(OFF);//指定画面Flicker烧录完毕不自动切到下一个画面。 

136.MemCpy(dest,st1,source,st2,count)

[功能] 用于变量缓存指定拷贝。
[格式]  MemCpy(<目的变量>,<目的变量起始位置>,<源变量>,<源变量起始位置>,<数据量>),目的变量为数据拷贝的目的地,用“rd”,“var”,“edrd”表示,源变量表示方法一致;目的变量起始位置表示拷贝到目的变量的起始存放位置,源变量起始位置表示数据源变量取数的起始位置;数据量表示拷贝数据的数据个数。
[例子]  MemCpy(var,0,rd,0,10);//读数缓存起始位置0拷贝10个数据到变量缓存中。 

137. SetOtpReadSpeedMode(mode)

[功能] 设置MIPI屏OTP读取时用高速还是低速模式。
[格式] SetOtpReadSpeedMode(<速度模式>),速度模式用0表示低速,1表示高速;默认为低速读取。
[例子] SetOtpReadSpeedMode(1);//设置MIPI读取时为高速模式。

138.  SetMultiFindVcomEn(ctrl)

[功能] 设置自动Flicker是否进行多次查找最佳值比对后再烧录。
[格式] SetMultiFindVcomEn(<控制>),控制值用“ENABLE”开启,用“DISABLE”关闭;默认是关闭的。
[例子] SetMultiFindVcomEn(ENABLE);//开启自动Flicker多次查找最佳值对比成功才进行烧录。 

139. SetBLPwm(duty,freq)

[功能] 设置背光输出PMW占空比和频率。
[格式] SetBLPwm(<占空比>,<频率>),占空比取值0~100;频率1000~10000。
[例子] SetBLPwm(50,5000);//设置BL PWM输出50%占空比,频率为5KHz。 

140. SetFlkPrePatItem (item,stabletime)

[功能] 设置FLK测试预显画面编号。
[格式] SetFlkPrePatItem(<画面编号>,<显示时间>),画面编号为0则表示没有预显功能,默认值;非0取值参考ShowPattern();显示时间取值0~65535,单位mS。
[例子] SetFlkPrePatItem(54,30000);//自动FLK之前预显显示黑色画面30S。 

141. SetLcmPrintFont (font)

[功能] 设置显示到LCM字符大小。
[格式] SetLcmPrintFont(<字符大小>),参数1表示小字符8x16;0表示大字符16x32,默认值。
[例子] SetLcmPrintFont(1);//设置显示到LCM字符为8x16小字符。

142. SetEdidNumMode (mode)

[功能] 设置EDID数据个数模式。
[格式] SetEdidNumMode(<个数模式>),0表示读取128个字节EDID数值;1表示读取256个字节EDID数值。
[例子] SetEdidNumMode(1);//设置EDID读取个数为256个。 

143. SetMcuCsMode (mode)

[功能] 设置MCU CS控制信号模式。
[格式] SetMcuCsMode(<模式>),0为连续模式,及多个参数CS不间断,默认值;1为不连续,每个数据单独一次CS有效。
[例子] SetMcuCsMode(1);  //设置MCU接口CS信号为不连续模式。 

144. SetMcuColorMode (mode)

[功能] 设置MCU 接口显示颜色模式。
[格式] SetMcuColorMode(<模式>),0为彩色模式,默认值;1为单色模式。
[例子] SetMcuColorMode(1);  //设置MCU接口显示为单色模式。

145. SetMcuBppMode (mode)

[功能] 设置MCU 接口显示BPP模式。
[格式] SetMcuBppMode(<模式>),0为1BPP模式,默认值;1为2BPP模式;2为4BPP模式;3为8BPP模式。
[例子] SetMcuBppMode(1);  //设置MCU接口显示为4BPP模式。

146. ReadSdBinFile(file)

[功能] 读取SD卡中BIN文件数据。
[格式] ReadSdBinFile (<文件名称>,<起始位置>,<读取长度>),文件名为ASCII字符,带后缀;起始位置为32位长整型数据,通常用长整形变量lvar0...lvar19来代入;读取长度为16为整形数据,用于表示读取数据个数。
[例子] LongDataOpera(L_TO,0,lvar0,0);

   ReadSdBinFile("test.bin",lvar0,256);      //从SD卡"test.bin"文件0地址开始读取256个数据

     更详细的应用示例,请查阅:LcdTools如何实现PX01读取SD中BIN文件并通过端口发出去 - XKphone--15002088355 - 博客园 (cnblogs.com)

147. ReadbufAdd(dest,source,start,count)

[功能] 数据缓存中累加。
[格式] ReadbufAdd(<数据存储目的寄存器>,<数据缓存源>,<起始位置>,<累加数据个数>), 目的寄存器为变量参数,表示累加后的结果存储的位置;数据源为数据缓存空间,如rd等;起始位置声明累加数据的起始位置;累加个数声明需要累加的数据个数。
[例子] ReadbufAdd(var0,rd,0,5);      //rd缓存中从rd0累加到rd4,结果存到变量var0中。

148. SetSpiSckIdleSta(sta)

[功能] 设置SPI接口SCK信号在空闲时的电平状态。
[格式] SetSpiSckIdleSta(<电平状态>), 电平状态,0表示低电平,1表示高电平。
[例子] SetSpiSckIdleSta(0);      //设置SPI口SCK在空闲时保持低电平

149. SpiSdiIdleSta(sta)

[功能] 设置SPI接口SDI信号在空闲时的电平状态。
[格式] SetSpiSdiIdleSta(<电平状态>), 电平状态,0表示低电平,1表示高电平。
[例子] SetSpiSdiIdleSta(0);      //设置SPI口SDI在空闲时保持低电平

150. SetSpiSdiReadSta(sta)

[功能] 设置SPI接口SDI信号在读取数据时的输出电平状态。
[格式] SetSpiSdiReadSta(<电平状态>), 电平状态,0表示低电平,1表示高电平,2表示高阻态,3表示输入(双向IO)。
[例子] SetSpiSdiReadSta(0);      //设置SPI口SDI在读取数据时输出低电平

151. SetPwrTestLimit(chl,volt_L,volt_H,curr_L,curr_H)

[功能] 设置电源测试上下限值。
[格式] SetPwrTestLimit(<电源通道>,<电压下限>,<电压上限>,<电流下限>,<电流上限>), 电源通道用"VCI","IOVCC","VSP","VSN","AVDD","VCOM","VGH","VGL","VBL"来表示;电压上下限单位为mV;电流上下限单位为0.1mA。
[例子] SetPwrTestLimit(VCI,3000,3400,1000,1800);      //设置VCI电源测试电压下限为3.000V,上限为3.400V,电流下限为100.0mA,上限为180.0mA。

152. PrepareDP()

[功能] 准备DP通道,为DP数据操作做准备,准备好之后就可以进行DP通道数据通信,如DPCD指令,EDID读取等等。
[格式] PrepareDP (), 无参数
[例子] PrepareDP();      //准备DP通道

153. SetRGBBitsReverse(ctrl)

[功能] 设置RGB数据位是否反转,即最高位和最低位位置倒序
[格式] SetRGBBitsReverse(<反转控制>), 反转控制,0表示不反转,正常顺序,默认值;1表示反转。
[例子] SetRGBBitsReverse(1);      //设置RGB数据位倒序

154. SetPatTestCodeEnable(en)

[功能] 设置画面测试指令是否有效。
[格式] SetPatTestCodeEnable(<使能控制>), "ENABLE"表示有效,默认值;"DISABLE"表示无效。
[例子] SetPatTestCodeEnable(DISABLE);      //设置画面测试指令无效,即不执行

155. SetBLAutoOnEnable(en)

[功能] 设置上电背光自动打开使能。
[格式] SetBLAutoOnEnable(<使能控制>), "ENABLE"表示有效,默认值;"DISABLE"表示无效。
[例子] SetBLAutoOnEnable(DISABLE);      //设置上电时背光不自动打开,需用户自己用指令来控制。

156. SetFlickerFrameRate(rate)

[功能] 用于设置F119 Flicker探头采样刷新率,如屏刷新率为30HZ,设置为30HZ,主要会影响DB测试。
[格式] SetFlickerFrameRate (<刷新率>), 刷新率单位0.1HZ
[例子] SetFlickerFrameRate(1200);      //设置F119 Flicker测量刷新率为120HZ

157. SetMaskEDID(dat...)

[功能] 用于设置EDID测试屏蔽位,对应于每一个EDID参数,每个参数的每一位为1允许比对,为0表示不必对,这样可以实现对EDID任意字节任意字节位进行比对检测,在CheckEDID()功能中生效。
[格式] SetMaskEDID(<mask参数1>,<mask参数>,...), 8位字节参数,最多不超过256个MASK参数,默认值都为FF。
[例子] SetMaskEDID(0x00);      //设置edid mask第一个参数为0,即对于EDID第一个参数不进行比对。

158. SetEdpAuxI2cOperaMode(mode)

[功能] 用于设置EDP接口AUX IIC读写模式,如连续模式还是分次收发模式。
[格式] SetEdpAuxI2cOperaMode(<模式>), 8位字节参数,0表示分次模式,1表示连续模式。
[例子] SetEdpAuxI2cOperaMode(1);      //设置EDP AUX IIC为连续模式

159. SetAutoPlay(ctrl)

[功能] 用于设置自动播放开关。
[格式] SetAutoPlay(<开关>), 用"ON"表示开,"OFF"表示关。
[例子] SetAutoPlay(ON);      //开启自动播放

160. LongDataOpera(type,mode,opera1,opera2)

[功能] 长整型运算。
[格式] LongDataOpera(<运算类型>,<操作数2模式>,<操作数1>,<操作数2>),运算类型用 "L_ADD" "L_SUB_1TO2" "L_SUB_2TO1" "L_MULT" "L_DIV_1TO2" "L_DIV_2TO1" "L_TO" "L_LEFT" "L_RIGHT" "L_AND" "L_OR" "L_NOT" "L_NAND" "L_NOR"来表示长整型加、操作数1减操作数2、操作数2减操作数1、乘、操作数1除以操作数2、操作数2除以操作数1、赋值(操作数2赋值给操作数1)、左移、右移、与、或、非、与非、或非;操作数2模式用于声明操作数2是立即数还是变量,0表示立即数(实数),1表示变量;操作数1只能用变量,用于存放运算结果,一般用长整型变量lvar0...lvar19表示;操作数2可以为变量,也可以为实数。

[例子] LongDataOpera(L_TO,0,lvar0,0);  //lvar0 = 0; 即lvar0赋值为0

161. VarBufCmp(dest,type,cmp1,st1,cmp2,st2,cnt)

[功能] 变量逻辑比较,比较成功,目标变量赋值1,否则赋值0。
[格式] VarBufCmp(<目标变量>,<比较类型>,<比较变量1>,<起始位置1>,<比较变量2>,<起始位置2>,<比较参数个数>),目标变量,用变量表示,如var0...var19,用于存放比较结果;比较类型,用"EQUAL"和"DIFFER"来表示"等于"和"不等于";比较变量1和比较变量2表示需要比较的两个变量空间,用"var" "rd" "edrd"来表示变量空间;起始位置1和起始位置2分别表示比较变量1和比较变量2的起始比较位置,最小值0,最大不超过变量空间大小减1,如"rd"最大为256个参数,起始位置不超255;var空间大小20个,最大不超19。
[例子] VarBufCmp(var0,EQUAL,rd,0,edrd,0,5);  //rd变量从0位置开始和edrd变量从0位置开始比较5个参数,是否相等,相等则var0赋值1,否则赋值0

162. SetFlickerProbType(type)

[功能] 用于设置探头类型。
[格式] SetFlickerProbType(<类型>), 0~2为F118探头,3为CA310,4为通过通信口中转(AOI应用场合)。
[例子] SetFlickerProbType(4);      //探头测量通过通信口中转,需要AOI配合专用通信协议完成

163. SSD2828SpiWriteCmd(cmd)

[功能] 用于SSD2828 SPI写命令(即寄存器地址),配合SSD2828SpiWriteData()使用来实现对2828的寄存器配置。。
[格式] SSD2828SpiWriteCmd(<命令>), 8bit整型参数,命令即寄存器地址请参考2828 datasheet。
[例子] SSD2828SpiWriteCmd(0xb7);      //SPI对2828写命令0xb7,即寄存器0xb7

164. SSD2828SpiWriteData(dat)

[功能] 用于SSD2828 SPI写数据,配合SSD2828SpiWriteCmd()使用来实现对2828的寄存器配置。
[格式] SSD2828SpiWriteData(<数据>), 16bit整型参数,请参考2828 datasheet。
[例子] SSD2828SpiWriteData(0x01b1);      //SPI对2828写数据0x01b1

165. SetMipiVideoClkSuspend(ctrl)

[功能] 用于设置SSD2828发送图像空闲时CLK是否停止。
[格式] SetMipiVideoClkSuspend(<控制>),用"ON"和"OFF"来开关此功能。
[例子] SetMipiVideoClkSuspend(ON);      //开启2828发送图像空闲停止时钟

166. Set4PartPclkPhaseDelay(pha1,pha2,pha3,pha4)

[功能] 用于设置L180M 四路信号相位。
[格式] Set4PartPclkPhaseDelay(<信号1相位>,<信号2相位>,<信号3相位>,<信号4相位>),相位参数为整型值,取值范围0~360。
[例子] Set4PartPclkPhaseDelay(0,180,0,0);      //设置L180M四路信号相位偏移分别为0°、180°、0°、0°

167. SetSpiSdc(logic,dly)

[功能] 设置SPI DCX口逻辑输出。
[格式] SetSpiSdc(<逻辑>,<延时>),逻辑用1表示高电平,0表示低电平;延时时间单位为mS,最大不超过65535mS,延时时间为逻辑输出后延时。
[例子] SetSpiSdc(15);  //SPI DCX口输出高电平后并延时5mS

指令集会不定期进行更新,欢迎交流!

深圳前海骁客影像科技设计有限公司
网址:www.xk-image.com
posted @ 2023-09-07 21:02  XKphone--15002088355  阅读(708)  评论(0编辑  收藏  举报