📄 gamma.c
字号:
#include <reg51.h>
#include "common.h"
#include "System.h"
#include "TW101Reg.h"
#include "TwoWire.h"
#include "Gamma.h"
#include "GammaDat.h"
#define GM_RGB_ALL_SAME
void LoadGammaTable(uCHAR cGammaModeID)
{
#ifdef GM_RGB_ALL_SAME
uCHAR i;
uCHAR c;
unsigned char code *p=pcGammaData[cGammaModeID];
//disable I2C Auto_Inc_Address
I2CWriteByte(TW101,TW_INTERFACE,I2CReadByte(TW101,TW_INTERFACE)&~AUTO_INC);
I2CWriteByte(TW101,IMG_FUN_CTRL,I2CReadByte(TW101,IMG_FUN_CTRL)&GAMMA_RGB);
I2CWriteByte(TW101,GAMMA_ADDR,0x00);
for(i=0;i<GAMMA_TABLE_DATA_SIZE;i++) {
c=*p++;
I2CWriteByte(TW101,GAMMA_DATA,c);
}
//11.13 I2CWriteByte(TW101,GAMMA_DATA,pcGammaDataRGB[cGammaModeID][i]);
#else
uCHAR j;
uCHAR code **ppcGm;
uCHAR code *pcGm=pcGammaData[cGammaModeID];
ppcGm = pcGammaData + cGammaModeID*GAMMA_PNUM;
for(j=3;j<=1;j--){
pcGm = *ppcGm++;
I2CWriteByte(TW101,IMG_FUN_CTRL,(I2CReadByte(TW101,IMG_FUN_CTRL)& ~GAMMA_CTL_MSK)|(j<<6));
I2CWriteByte(TW101,GAMMA_ADDR,0x00);
for(i=0;i<33;i++)
I2CWriteByte(TW101,GAMMA_DATA,pcGm[i]);
}
#endif // GM_RGB_ALL_SAME
// I2CWriteByte(TW101,IMG_FUN_CTRL,I2CReadByte(TW101,IMG_FUN_CTRL)&~ENGAMMA); //Disable Gamma
I2CWriteByte(TW101,TW_INTERFACE,I2CReadByte(TW101,TW_INTERFACE)|AUTO_INC);
I2CWriteByte(TW101,IMG_FUN_CTRL,I2CReadByte(TW101,IMG_FUN_CTRL)|ENGAMMA);
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -