📄 saa7121.c.bak
字号:
#include <std.h>
#include <csl_stdinc.h>
#include <csl_i2c.h>
#include <edc.h>
#include <csl_gpio.h>
#include <saa7121.h>
static Int SAA7121_close(EDC_Handle handle);
static Int SAA7121_ctrl(EDC_Handle handle, SAA7121_Cmd cmd, Arg param);
static EDC_Handle SAA7121_open(String devName, Arg optArg);
EDC_Fxns SAA7121_Fxns =
{
SAA7121_open,
SAA7121_close,
SAA7121_ctrl
};
static Int SAA7121_close(EDC_Handle handle)
{
return 0;//
}
static Int SAA7121_ctrl(EDC_Handle handle, SAA7121_Cmd cmd, Arg param)
{
Uint8 i;
Uint8 tmp_reg_value;
Uint8 dev_addr;
int devid;
SAA7121_ConfParams *saa7121_conf_ptr;
SAA7121_RegParam *saa7121_param;
SAA7121_RegParam saa7121_pal_param[45] = {
{0x26,0x00},{0x27,0x00},{0x28,0x21},{0x29,0x1d},{0x3A,0x13},{0x5A,0x0c},
{0x5B,0x21},{0x5c,0xAF},{0x5d,0x23},{0x5e,0x35},{0x5f,0x35},{0x60,0x00},
{0x61,0x06},{0x62,0x2F},{0x63,0xcb},{0x64,0x8a},{0x65,0x09},{0x66,0x2a},
{0x67,0x55},{0x68,0x56},{0x69,0x67},{0x6a,0x58},{0x6b,0x20},{0x6c,0x05},
{0x6d,0x20},{0x6e,0xA0},{0x6f,0x14},{0x70,0x80},{0x71,0xe8},{0x72,0x10},
{0x73,0x42},{0x74,0x03},{0x75,0x03},{0x76,0x05},{0x77,0x16},{0x78,0x04},
{0x79,0x16},{0x7a,0x18},{0x7b,0x38},{0x7c,0x40},{0x7d,0x00},{0x7e,0x00},
{0x7F,0x00}
};
SAA7121_RegParam saa7121_ntsc_param[45] = {
{0x26,0x00},{0x27,0x00},{0x28,0x19},{0x29,0x1d},{0x3A,0x13},{0x5A,0x0c},
{0x5B,0x76},{0x5c,0xA5},{0x5d,0x2a},{0x5e,0x2e},{0x5f,0x2e},{0x60,0x00},
{0x61,0x15},{0x62,0x3F},{0x63,0x1f},{0x64,0x7c},{0x65,0xf0},{0x66,0x21},
{0x67,0x55},{0x68,0x56},{0x69,0x67},{0x6a,0x58},{0x6b,0x20},{0x6c,0xf9},
{0x6d,0x00},{0x6e,0xb0},{0x6f,0x14},{0x70,0x80},{0x71,0xe8},{0x72,0x10},
{0x73,0x42},{0x74,0x03},{0x75,0x03},{0x76,0x05},{0x77,0x16},{0x78,0x04},
{0x79,0x16},{0x7a,0x18},{0x7b,0x38},{0x7c,0x40},{0x7d,0x00},{0x7e,0x00},
{0x7F,0x00}
};
devid = (int)handle;
if(devid != 0 && devid != 1)
{
return EDC_FAILED;
}
else if(devid == 0)
{
dev_addr = SAA7121_IIC_ADDR1;
}
else
{
dev_addr = SAA7121_IIC_ADDR2;
}
saa7121_conf_ptr = SAA7121_ConfParams *param;
if(param->video_stand == 0)
{
saa7121_param = &saa7121_pal_param[0];
}
else if(param->video_stand == 1)
{
saa7121_param = &saa7121_ntsc_param[0];
}
else
{
return EDC_FAILED;
}
switch(cmd)
{
case EDC_CONFIG:
{
for(i = 0; i < 45; i++)
{
}
}
break;
default : return EDC_FAILED;
}
return EDC_SUCCESS;
}
static EDC_Handle SAA7121_open(String devName, Arg optArg)
{
int devid;
if(devName[0] != '/')
{
devid = -1;
}
else
{
devid = devName[1] - 0x30;
}
return (EDC_Handle)devid;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -