资源简介
网上下载的SiI9134配置完整程序,已测试通过
代码片段和文件信息
//---------------------------------------------------------------------------
// Module Name: EDID.c
// Module Description: ParseEDID
//
// Copyright ?2005-2008 SII Inc. All rights reserved.
//---------------------------------------------------------------------------
#include
#include “TypeDefs.h“
#include “EDID.h“
#include “MCU.h“
#include “SiIIIC.h“
#include “SiITX.h“
#include “SiITXHDCP.h“
BOOL CEAOnFisrtPage; // when offset pointer (Slave Addr 0x60) is not used CEA861B extension always on second page
//---------------------------------------------------------------------------
static BYTE BlockReadEDID( BYTE NBytes BYTE Addr BYTE * Data ){
TmpD.MDDC.SlaveAddr = EDID_SLV;
TmpD.MDDC.Offset = MDDCReadOffset();
TmpD.MDDC.RegAddr = Addr;
TmpD.MDDC.NBytesLSB = NBytes;
TmpD.MDDC.NBytesMSB = 0;
TmpD.MDDC.Dummy = 0;
if(TmpD.MDDC.Offset)
TmpD.MDDC.Cmd = MASTER_CMD_ENH_RD;
else
TmpD.MDDC.Cmd = MASTER_CMD_SEQ_RD;
//TmpD.MDDC.PData = Data;
BlockRead_MDDC(&TmpD.MDDC Data);
return 0;
}
//---------------------------------------------------------------------------
static void UpdateCRC16WithByte( WORD * pCRC BYTE Data ){
BYTE i;
WORD XORedIn CRC;
CRC = *pCRC;
for(i = 0; i < 8; i++) {
XORedIn = (WORD)Data ^ CRC; Data >>=1;
CRC >>=1;
if(XORedIn & MASK_LSBit)
CRC ^=POLYNOM;
}
*pCRC = CRC;
}
//---------------------------------------------------------------------------
static void UpdateCRC16WithBlock( WORD * pCRC BYTE NBytes BYTE * Data ){
BYTE i;
for (i = 0; i < NBytes; i++)
UpdateCRC16WithByte( pCRC Data[i] );
}
//---------------------------------------------------------------------------
static BYTE DecodeHeader( BYTE * HeaderError WORD * pCRC16 ){
BYTE i Error;
IRAM BYTE Data[8];
if(Error = BlockReadEDID(8 0 Data))
return Error;
UpdateCRC16WithBlock( pCRC16 8 Data);
if(!(Data[0] | Data[7]))
{
for(i = 1; i < 7; i++){
if(Data[i]!= 0xFF)
* HeaderError = BAD_HEADER;
}
}
else
* HeaderError = BAD_HEADER;
return Error;
}
//---------------------------------------------------------------------------
static BYTE CheckCRC( BYTE Addr BYTE * CRC WORD * pCRC16 ){
BYTE Error i base;
IRAM BYTE Data[8];
base = Addr;
Addr = 0;
for(*CRC = 0; Addr < 127; Addr = Addr + 8){
Error = BlockReadEDID(8 base + Addr Data);
if(Error)
break;
for( i = 0; i < 8; i++) {
*CRC += Data[i];
UpdateCRC16WithBlock( pCRC16 8 Data);
}
}
return Error;
}
//---------------------------------------------------------------------------
static BYTE CheckEDIDVersion( BYTE * Versionerror WORD * pCRC16 ){
IRAM BYTE Data[2];
BYTE Error;
* Versionerror = 0;
if(Error = BlockReadEDID(2 VER_ADDR Data)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 30439 2008-08-07 17:19 9134_soft_v20100113\EDID.c
文件 1732 2008-07-21 17:17 9134_soft_v20100113\EDID.h
文件 4773 2008-08-13 10:26 9134_soft_v20100113\main.c
文件 4534 2008-07-16 20:05 9134_soft_v20100113\MCU.c
文件 1951 2008-07-21 16:08 9134_soft_v20100113\MCU.h
文件 2558 2008-05-26 22:09 9134_soft_v20100113\reg89f.h
文件 8490 2008-07-16 20:39 9134_soft_v20100113\SiIIIC.c
文件 1661 2008-07-16 20:39 9134_soft_v20100113\SiIIIC.h
文件 43778 2010-01-13 11:54 9134_soft_v20100113\SiITX.c
文件 5809 2010-01-13 12:14 9134_soft_v20100113\SiITX.h
文件 11010 2010-01-13 12:13 9134_soft_v20100113\SiITXDefs.h
文件 30586 2010-01-13 12:11 9134_soft_v20100113\SiITXHDCP.c
文件 6384 2008-08-07 16:47 9134_soft_v20100113\SiITXHDCP.h
文件 11564 2008-07-17 10:01 9134_soft_v20100113\SiITXInfoPkts.c
文件 2777 2008-06-20 10:56 9134_soft_v20100113\SiITXInfoPkts.h
文件 19507 2008-08-04 21:34 9134_soft_v20100113\SiIVRTables.c
文件 2292 2008-08-04 22:01 9134_soft_v20100113\SiIVRTables.h
文件 688 2008-07-16 11:39 9134_soft_v20100113\TypeDefs.h
目录 0 2010-01-13 12:16 9134_soft_v20100113\
评论
共有 条评论