⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 saa7121.c.bak

📁 saa7121的显示驱动程序
💻 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 + -