LT8918
支持
Pattern Mode
和
Normal Mode
两种工作模式,所谓的
Pattern Mode
就是
LT8918
内部生成
Timing
时
序,等效于内部模拟
RGB
源;
Normal Mode
则是采用外部的
RGB
输入。为了排除外部
RGB
输入的配置不匹配导致
无法显示,
一般建议先用
Pattern Mode
点亮再切换到外部
RGB
输入,
FlagNormalMode=0 时执行 Pattern Mode 配置,
主循环配置如下:
void main(void)
{
vdInit_MCU_GPIO();
//MCU GPIO 初始化
InitialUART1_Timer3( 115200 );
//MCU 串口初始化
while(1)
{
if(
FlagNormalMode
)
{
vdLT8918_Normal_Mode();
//RGB 输入模式
}
else
{
vdLT8918_Pattern_Mode();
//Pattern 模式
}
}
}
1.3
、
LT8918 DCS
配置及相关寄存器描述
void LT8918_DcsInital(void)
//LT8918 DCS
模块的初始化配置
{
vdSet_Reg_Bank(0x70);
Write_I2C_Byte(0x23,0xa0);
Write_I2C_Byte(0x29,0x81);
Write_I2C_Byte(0x38,0x00);
Write_I2C_Byte(0x34,0x49);
Write_I2C_Byte(0x35,0x80);
vdSet_Reg_Bank(0x83);
Write_I2C_Byte(0x11,0x00);
}
DCS
短包函数
void DcsShortPktWrite( u8 DCS_DI,u8 data0, u8 data1 )
原型如下:
void DcsShortPktWrite( u8 DCS_DI,u8 data0, u8 data1 )
{
u8 i = 0;
vdSet_Reg_Bank(0x83);
Write_I2C_Byte(0x40,0x04);
//Tx hs data MSB/LSB polarity select
Write_I2C_Byte(0x32,0x0C);
//Hardware calculate ecc and crc&LP mode send pkt enable&Short pkt
Write_I2C_Byte(0x33,0x04);
Write_I2C_Byte(0x34,DCS_DI);
//0x8334
为依次写入的
DCS Code data,
只包含
DI
、
DCS_CMD
、
Data
Write_I2C_Byte(0x34,data0 );
Write_I2C_Byte(0x34,data1 );
Write_I2C_Byte(0x32,0x00);
}
理解各寄存器的配置也可以根据供应商提供的初始化代码格式修改短包函数;
DCS
长包函数
void DcsShortPktWrite( u8 DCS_DI,u8 data0, u8 data1 )
原型如下:
void DcsLongPktWrite(u8 DataID,u8 Len)
{
u8 i;
vdSet_Reg_Bank(0x83);
Write_I2C_Byte(0x40,0x04);
Write_I2C_Byte(0x32,0x0E);
Write_I2C_Byte(0x33,(Len+6));
Write_I2C_Byte(0x34,DataID);
//0x8334
为依次写入的
DCS Code,
只包含
DI
、
DCS_CMD
、
Data
Write_I2C_Byte(0x34,Len);
Write_I2C_Byte(0x34,0x00);
for(i=0;i<Len;i++)
{
Write_I2C_Byte(0x34,Buf[i]);
//Buf[]
数组存了
DCS_CMD+Data
}
Write_I2C_Byte(0x32,0x00);
}
理解下
0x8333
配置为
Len+6
的意义,可以根据供应商提供的初始化代码格式修改短包函数;