📄 msddc2bi.c
字号:
#define _DDC2BI_C_
#include "board.h"
#include "types.h"
#include "ms_reg.h"
#include "global.h"
#include "ms_rwreg.h"
#include "DEBUG.h"
#include "misc.h"
#include "msddc2bi.h"
#include "menu.h"
#include "keypaddef.h"
#if ENABLE_DDC2BI
void msDDC2BIInit(void)
{
BYTE ucBank;
ucBank = msReadByte( BK0_00_REGBK);
msWriteByte(BK0_00_REGBK, REG_BANK_SCALER);
msWriteByte(BK0_1B_INTENB, 0xc0); // Enable Scaler interrupt (datr & datw)
msWriteByte(BK0_1D_INTENC, 0x01); // Enable Scaler interrupt (star & stop)
msWriteByte(BK0_1A_INTSTB, 0x00);
msWriteByte(BK0_1C_INTSTC, 0x00);
msWriteByte(BK0_00_REGBK, ucBank);
MCUXFR_19_DDC2BI_ID = 0x80 + (0x6E>>1); // Set SI2C slave address 0x6E , bit7:Enable SI2C
MCUXFR_18_DDC2BI_CTRL = 0x00; // Enable SI2C no_ack
MCUXFR_11_DDC2BI_FLAG = 0x00; // Clear all interrupt flag
MCUXFR_10_DDC2BI_INT_EN = 0x3E; // Enable SI2C interrupt
g_bDDC2BICommandFlag = 0;
g_ucDDC2BIBuffIndex = 0;
SI2CHKSUMValue=0;
}
void msDDC2BICommandHandler(void )
{
if(g_bDDC2BICommandFlag)
{
g_bDDC2BICommandFlag= 0;
if((SI2CCOMM+SI2CDATA)==SI2CHKSUM)
{
SI2CHKSUMValue=SI2CREADDATAOK;
MCUXFR_13_DDC2BI_R_BUF=SI2CHKSUMValue;
}
else
{
SI2CHKSUMValue=SI2CREADDATANG;
MCUXFR_13_DDC2BI_R_BUF=SI2CHKSUMValue;
return;
}
switch(SI2CCOMM)
{
case SI2CKEYCOMM:
{
switch(SI2CDATA)
{
case SI2CSOURCE:
MenuProcessKey(MIA_Source);
break;
case SI2CUP:
case SI2CDOWN:
case SI2CLEFT:
case SI2CRIGHT:
default:
break;
}
break;
}
case SI2CBRIGHTNESS:
case SI2CCONTRAST:
case SI2CSATURATION:
case SI2CVCOMDC:
case SI2CVCOMAC:
default:
break;
}
}
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -