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

📄 hal_config.c

📁 是一个手机功能的模拟程序
💻 C
📖 第 1 页 / 共 5 页
字号:
		HAL_LCD_DELAY	+ 100,
		HAL_LCD_COMMAND + 0xFB, 
		HAL_LCD_PARAM	+ 0x04,

		HAL_LCD_DELAY	+ 100,
		HAL_LCD_COMMAND + 0xCA, 
		HAL_LCD_PARAM	+ 0x00,
		HAL_LCD_PARAM	+ 0x10,
		HAL_LCD_PARAM	+ 0x00,

		//HAL_LCD_DELAY	+ 200,
		HAL_LCD_COMMAND + 0xBC, 
		HAL_LCD_PARAM	+ 0x00,
		HAL_LCD_PARAM	+ 0x00,
		HAL_LCD_PARAM	+ 0x02,

		//HAL_LCD_DELAY	+ 200,
		HAL_LCD_COMMAND + 0xBB, 
		HAL_LCD_PARAM	+ 0x01,

		//HAL_LCD_DELAY	+ 200,
		HAL_LCD_COMMAND + 0x94, 

		//HAL_LCD_DELAY	+ 200,
		HAL_LCD_COMMAND + 0xA7, 

		//HAL_LCD_DELAY	+ 200,
		HAL_LCD_COMMAND + 0xF2, 
		HAL_LCD_PARAM	+ 0x0F,
		HAL_LCD_PARAM	+ 0x00,

		//HAL_LCD_DELAY	+ 200,
		HAL_LCD_COMMAND + 0xF7, 
		HAL_LCD_PARAM	+ 0x28,
		HAL_LCD_PARAM	+ 0x2C,
		HAL_LCD_PARAM	+ 0x05,

		//HAL_LCD_DELAY	+ 200,
		HAL_LCD_COMMAND + 0xAF, 

		//HAL_LCD_DELAY	+ 200,
		HAL_LCD_COMMAND + 0x15, 
		HAL_LCD_PARAM	+ 0x00,
		HAL_LCD_PARAM	+ 0x60,

		//HAL_LCD_DELAY	+ 200,
		HAL_LCD_COMMAND + 0x75, 
		HAL_LCD_PARAM	+ 0x00,
		HAL_LCD_PARAM	+ 0x40,
		
		//HAL_LCD_DELAY	+ 200,
		HAL_LCD_COMMAND + 0xBC, 
		HAL_LCD_PARAM	+ 0x00,
		HAL_LCD_PARAM	+ 0x00,
		HAL_LCD_PARAM	+ 0x01,  //0x01--256 color  0x02--4096 color
	
		HAL_LCD_ENDOFTABLE
	},

	/* LCD register initialization sequence (LCD3) */
	{
		HAL_LCD_ENDOFTABLE
	},

	/* Initialization S1D13716 registers */
	{  

	{ REG0018_POWERSAVE,                    0x01 },//power save enabled,crystal interface disabled, pll disabled.
	{ REG0014_CLKSRC,                       0x00 },//pll source is CLKI,sysclk is CLKI,sysclk divide ration is default, lcdpclk divide ration is defatult.

//	{ REG0010_PLL0,					0xDD },//this setting is 40M,50M is 0xDD
//	{ REG0011_PLL1,					0x1C },//this setting is 40M,50M is 0x1C
//	{ REG0012_PLL2,					0x20 },
	{ REG0010_PLL0,                         0xC2 },
	{ REG0011_PLL1,                         0x34 },
	{ REG0012_PLL2,                         0x20 },// this setting is 40M
	{ REG0015_SERLCDCLK,			0x41 },//1     //1/16 
	{ REG0014_CLKSRC,                       0xF1 },//sysclk source is pll,pll source is CLKI,sysclk divide ration is 1:1,lcdpclk divide ratio is 1/32.
	{ REG0016_LCDPCLKDIV,                   0x00 },//lcdpclk divide ration is 1:1.
	{ REG0018_POWERSAVE,                    0x04 },//pll enabled
	{ REGFLAG_DELAY,                        0xFF }, //  delay for pll lock    
	{ REG0070_PWMCTRL0,                 0x05 }, //     
	{ REG007F_PWMWHITECYCLE,       0x3F },      
	{ REG0072_PWMCTRL1,                 0x01 }, 
	{ REGFLAG_DELAY,                        0x50 },//first step
	{ REG0108_CMCONTROL,			0x01 },//software reset camera mode
	{ REG0108_CMCONTROL,			0x00 },//software reset camera mode
	{ REG0202_RESIZE,				0x81 },//Reset resizer
	{ REG0202_RESIZE,				0x01 }, //Reset resizer,enable resize block
	{ REG0040_LCD1SETTING,                  0x03 },//
	{ REG0044_LCD2SETTING,                  0x00 },
	{ REG0048_LCD3SETTING,                  0x00 },
	{ REG004E_SCALEUP,                      0x00 },//sec step
	{ REG004C_DISPSETTING,                0x41 },// lcd1 select.
	{ REG0036_LCDTRIG,				0x00 },
	{ REG003C_LCDXFER,				0x00 },

	{ REG0248_OIMAGE,				0x10 },
	{ REG0216_RYC,					0x05 },
	{ REG0220_YUVRGBXLATE0,		0x05 },
	{ REG0222_YUVRGBXLATE1,		0x00 },//01
	{ REG0202_RESIZE,				0x00 },//0D
	{ REG0204_RESIZESX0,                    0x00 },
	{ REG0205_RESIZESX1,                    0x00 },
	{ REG0206_RESIZESY0,                    0x00 },
	{ REG0207_RESIZESY1,                    0x00 },
	{ REG0208_RESIZEEX0,                    0x7f },////7f
	{ REG0209_RESIZEEX1,                    0x01 },////0
	{ REG020A_RESIZEEY0,                    0x7f },////77
	{ REG020B_RESIZEEY1,                    0x01 },////0
	{ REG020C_RESIZEHSCALE,                 0x1 },//1
	{ REG020E_RESIZEVSCALE,                 0x1 },//1
	{ REG0210_RESIZEOP,                     0x01 },
	//{ REG0248_OIMAGE,				0x10 },
	{ REG024A_SWIVELVIEW,			0x10 },
	{ REG0224_YUVWRSTART0,                  0x00 },
	{ REG0225_YUVWRSTART1,                  0x80 },		//0x20
	{ REG0226_YUVWRSTART2,                  0x00 },
	{ REG0240_OSADDR0,                      0x00 },
	{ REG0241_OSADDR1,                      0x80 },
	{ REG0242_OSADDR2,                      0x00 },
	{ REG0244_OHRES,                        0x7F },
	{ REG0246_OVRES,                        0x7F },
	{ REG0212_MEMHORZRES,			0x7F },
	{ REG0214_MEMVERTRES,			0x7F},
	{ REG0228_XOFFSET0,                     0x00 },
	{ REG0229_XOFFSET1,                     0x00 },
	{ REG022A_YOFFSET0,                     0x00 },
	{ REG022B_YOFFSET1,                     0x00 },
	{ REG0100_CMCLK,				0x02 },
	{ REG0102_CMSIGNAL,				0x02 },
	{ REG0104_CMMODE0,				0x08 },
	{ REG0106_CMMODE1,				0x00 },
        
	{ REG0060_GPIOCONFIG,			0x02 },		//config gpio1 output, supply the core power of the sensor	/*wanghaixiang*/
	{ REG0064_GPIOSTATUS,			0x02 },		//output is high
        { REGFLAG_ENDOFTABLE,                   0x00 }

	
/*	
	{ REG0018_POWERSAVE,                    0x01 },
	{ REG0014_CLKSRC,                       0x00 },
	//{ REG0010_PLL0,                         0xC2 },
	//{ REG0011_PLL1,                         0x34 },
	//{ REG0012_PLL2,                         0x20 },
	{ REG0015_SERLCDCLK,			0x41 },		//0x41
	{ REG0014_CLKSRC,                       0xf1 },		//0xf1
	{ REG0016_LCDPCLKDIV,                   0x00 },
	{ REG0018_POWERSAVE,                    0x00 },
	{ REGFLAG_DELAY,                        0xFF },        
	{ REG0070_PWMCTRL0,                 0x05 },      
	{ REG007F_PWMWHITECYCLE,       0x3F },      
	{ REG0072_PWMCTRL1,                 0x01 }, 
	{ REGFLAG_DELAY,                        0x50 },//first step
	{ REG0108_CMCONTROL,			0x01 },
	{ REG0108_CMCONTROL,			0x00 },
	{ REG0202_RESIZE,				0x81 },
	{ REG0202_RESIZE,				0x01 }, 
	{ REG0040_LCD1SETTING,                  0x03 },
	{ REG0044_LCD2SETTING,                  0x00 },
	{ REG0048_LCD3SETTING,                  0x00 },
	{ REG004E_SCALEUP,                      0x00 },//sec step
	{ REG004C_DISPSETTING,                0x41 },
	{ REG0036_LCDTRIG,				0x00 },
	{ REG003C_LCDXFER,				0x00 },

	{ REG0248_OIMAGE,				0x10 },
	{ REG0216_RYC,					0x05 },
	{ REG0220_YUVRGBXLATE0,		0x05 },
	{ REG0222_YUVRGBXLATE1,		0x00 },//01
	{ REG0202_RESIZE,				0x00 },//0D
	{ REG0204_RESIZESX0,                    0x00 },
	{ REG0205_RESIZESX1,                    0x00 },
	{ REG0206_RESIZESY0,                    0x00 },
	{ REG0207_RESIZESY1,                    0x00 },
	{ REG0208_RESIZEEX0,                    0xff },		//0xff
	{ REG0209_RESIZEEX1,                    0x00 },		//0x01
	{ REG020A_RESIZEEY0,                    0xdf },		//0xdf
	{ REG020B_RESIZEEY1,                    0x00 },		//0x01
	{ REG020C_RESIZEHSCALE,                 0x1 },//1
	{ REG020E_RESIZEVSCALE,                 0x1 },//1
	{ REG0210_RESIZEOP,                     0x01 },
	//{ REG0248_OIMAGE,				0x10 },
	{ REG024A_SWIVELVIEW,			0x00 },
	{ REG0224_YUVWRSTART0,                  0x00 },
	{ REG0225_YUVWRSTART1,                  0x20 },
	{ REG0226_YUVWRSTART2,                  0x00 },
	{ REG0240_OSADDR0,                      0x00 },
	{ REG0241_OSADDR1,                      0x80 },
	{ REG0242_OSADDR2,                      0x00 },
	{ REG0244_OHRES,                        0x7F },
	{ REG0246_OVRES,                        0x7F },
	{ REG0212_MEMHORZRES,			0x7F },
	{ REG0214_MEMVERTRES,			0x7F},
	{ REG0228_XOFFSET0,                     0x00 },
	{ REG0229_XOFFSET1,                     0x00 },
	{ REG022A_YOFFSET0,                     0x00 },
	{ REG022B_YOFFSET1,                     0x00 },
	{ REG0100_CMCLK,				0x01 },
	{ REG0102_CMSIGNAL,				0x02 },
	{ REG0104_CMMODE0,				0x08 },
	{ REG0106_CMMODE1,				0x00 },
        
        { REGFLAG_ENDOFTABLE,                   0x00 }
*/

/*
		{ REG0018_POWERSAVE,			0x01 },	
		{ REG0014_CLKSRC,				0x00 },//select external CLKI for SYSCLK, PLL source	
		//{ REG0010_PLL0,					0x60 },//this setting is 40M,50M is 0xDD 13M is 0x60
		//{ REG0011_PLL1,					0xf0 },//this setting is 40M,50M is 0x1C 13M is 0xF0
		//{ REG0012_PLL2,					0x20 },
		{ REG0015_SERLCDCLK,			0x21 },//I2C Clock=sysclock/16
		{ REG0014_CLKSRC,				0x31 },//LCDPCLK=sysclock/24
		{ REG0016_LCDPCLKDIV,			0x00 },
		{ REG0018_POWERSAVE,			0x00 },
	 	{ REGFLAG_DELAY,				0xFF },        
		{ REG0070_PWMCTRL0,				0x05 },      
		{ REG007F_PWMWHITECYCLE,		0x3F },      
		{ REG0072_PWMCTRL1,				0x01 }, 
		{ REGFLAG_DELAY,				0x50 },
		{ REG0108_CMCONTROL,			0x01 },//software reset camera mode
		{ REG0108_CMCONTROL,			0x00 },
		{ REG0202_RESIZE,				0x81 },//Reset resizer
		{ REG0202_RESIZE,				0x01 },//Reset resizer
		{ REG0040_LCD1SETTING,			0x03 },//Data bus width 8 bits format 565
		{ REG0044_LCD2SETTING,			0x00 },//Data bus width 8 bits format 565
		{ REG0048_LCD3SETTING,			0x00 },//Not set
		{ REG004E_SCALEUP,				0x00 },//Encode Scale Overlay Disable
		{ REG004C_DISPSETTING,			0x41 },//Overlay with Main  and Overlay is 8 bits and select lcd2 62
		{ REG0036_LCDTRIG,				0x00 },
		{ REG003C_LCDXFER,				0x00 },//lcd auto transfer disable
		{ REG0248_OIMAGE,				0x10 },//The host output image to overlay 00 to main
		{ REG0216_RYC,					0x05 },//Ryc format is 565
		{ REG0220_YUVRGBXLATE0,			0x05 },//Default value
		{ REG0222_YUVRGBXLATE1,			0x00 },
		{ REG0202_RESIZE,				0x00 },//Reset and enable resizer03
		{ REG0204_RESIZESX0,			0x00 },
		{ REG0205_RESIZESX1,			0x00 },
		{ REG0206_RESIZESY0,				0x00 },
		{ REG0207_RESIZESY1,				0x00 },
		{ REG0208_RESIZEEX0,				0x7F },//127
		{ REG0209_RESIZEEX1,				0x00 },
		{ REG020A_RESIZEEY0,				0x7F },//128
		{ REG020B_RESIZEEY1,				0x00 },
		{ REG020C_RESIZEHSCALE,			0x01 },//H-scale
		{ REG020E_RESIZEVSCALE,			0x01 },//V-scale
		{ REG0210_RESIZEOP,				0x00 },//Scale mode is no scale
		{ REG024A_SWIVELVIEW,			0x00 },//Not swivel
		{ REG0224_YUVWRSTART0,			0x00 },//Main window adress
		{ REG0225_YUVWRSTART1,			0x20 },//0x2000 8K
		{ REG0226_YUVWRSTART2,			0x00 },//
		{ REG0240_OSADDR0,				0x00 },//Overlay adress
		{ REG0241_OSADDR1,				0xC0 },//0xc000 so the main window size is 0xc000-0x2000
		{ REG0242_OSADDR2,				0x00 },
		{ REG0244_OHRES,				0x7F },//Overlay width
		{ REG0246_OVRES,				0x7F },//Overlay height
		{ REG0212_MEMHORZRES,			0x7F },//Actual Horizontal Resolution in Pixels -1. jpeg encode use
		{ REG0214_MEMVERTRES,			0x7F },//159
		{ REG0228_XOFFSET0,				0x00 },//Main window's position in overlay
		{ REG0229_XOFFSET1,				0x00 },
		{ REG022A_YOFFSET0,				0x00 },
		{ REG022B_YOFFSET1,				0x00 },
		{ REG0100_CMCLK,				0x01 },//camera clock setting.1 is 1/4 sysclock
		{ REG0102_CMSIGNAL,				0x02 },
		{ REG0104_CMMODE0,				0x08 },
		{ REG0106_CMMODE1,				0x00 },
		{ REGFLAG_ENDOFTABLE,			0x00 }
*/
    },
	

	/* Initialization camera data */
	{
		// VGA MODE FOR OV7645FB
	{ 0x12, 0x80 },
	{ 0x03, 0xa4 },			//0x04----black & white//0xa4----normal
	{ 0x04, 0x30 },
	{ 0x05, 0x88 },
	{ 0x06, 0x60 },
	{ 0x11, 0x00 },			//{ 0x11, 0x00 }, //;value 01 for 15 fps
	{ 0x12, 0x15 },
	{ 0x13, 0xa3 },
	{ 0x14, 0x14 },
	{ 0x15, 0x14 },
	{ 0x1f, 0x41 },
	{ 0x20, 0xd0 },
	{ 0x23, 0xde },
	{ 0x24, 0xa0 },
	{ 0x25, 0x80 },
	{ 0x26, 0xb2 },
	{ 0x27, 0xe0 },			//0xe2----black & white//0xe0----normal
	{ 0x28, 0x20 },
	{ 0x2a, 0x01 },
	{ 0x2b, 0x00 },
	{ 0x2d, 0x05 },
	{ 0x2f, 0x9d },
	{ 0x30, 0x00 },
	{ 0x31, 0xc4 },
	{ 0x60, 0x86 },
	{ 0x61, 0xe0 },
	{ 0x62, 0x88 },
	{ 0x63, 0x11 },
	{ 0x64, 0x89 },
	{ 0x65, 0x00 },
	{ 0x67, 0x94 },
	{ 0x68, 0x7a },
	{ 0x69, 0x08 },
	{ 0x6c, 0x11 },			//0xFF----black & white//0x11----normal
	{ 0x6d, 0x33 },			//0xFF----black & white//0x33----normal
	{ 0x6e, 0x22 },			//0xFF----black & white//0x22----normal
	{ 0x6f, 0x00 },			
	{ 0x74, 0x20 },			//{ 0x74, 0x60 },  low light use 0x60
	{ 0x75, 0x0e },			//{ 0x75, 0x06 },
	{ 0x77, 0xc4 },			//{ 0x77, 0xb5 },
	//{ 0x79, 0x80 },			//set----black & white//remove----normal
	//{ 0x7a, 0x80 },			//set----black & white//remove----normal
	{ REGFLAG_ENDOFTABLE,0xFFFF}	//for end
	}	
};

#endif


#ifdef S1D50173
HAL_STRUCT HAL_STRUCT_NAME =
{
    HALCHIPID" HAL EXE",    // HAL ID string
    "\x00",				// Configuration description
    "\x01" "6 SLPIN 95\x00\x02" "2 DISOFF AE\x00\x03" "DISCTL\x00\x0F" "13 DATCTL BC\x00\x12" "8 PSET 75\x00\x15" "9 CSET 15\x00\x1A" "7 SLPOUT\x00\x1BPAUSE\x00\x1C" "1 DISON AF\x00\x1DPAUSE\x00\x1E" "14 RAMWR 5C\x00",  // Parallel LCD1 strings pool
    "\x01" "6 SLPIN 95\x00\x02" "2 DISOFF AE\x00\x03" "DISCTL\x00\x0F" "13 DATCTL BC\x00\x12" "8 PSET 75\x00\x15" "9 CSET 15\x00\x1A" "7 SLPOUT\x00\x1BPAUSE\x00\x1C" "1 DISON AF\x00\x1DPAUSE\x00\x1E" "14 RAMWR 5C\x00",  // Parallel LCD2 strings pool
    "\x01" "disctl\x00\x05" "com scan\x00\abug fix\x00\bpageset\x00\vcolset\x00\x0E" "dactl\x00\x12" "disinv\x00\x13slpout\x00\x14power\x00\x17volume\x00\x1A" "dison\x00\x1Bramwr\x00",  // Serial LCD3 strings pool
    sizeof(HAL_STRUCT),	// Sizeof this structure
    0x0000,			// CRC of the rest of structure

    HALCHIPID,		// Chip ID
    0x1234,			// Endian detect (LE=0x1234)
    0,					// Reserved for alignment

    32768L,			// CLKI frequency (in Hz)
    32768L,			// Internal OSC frequency (in Hz)

    0x01000000,             // Physical base memory address
    0x00000000,             // Physical register address offset
    0x00000000,             // Physical memory address offset

    640, 480,			// Camera1 expected image size

    81920L,			// Required VRAM (in bytes)
    0,					// Hal Information flags//fNO_INIT_I2C

    {                       // LCD1 init sequence
        HAL_LCD_ENDOFTABLE
    },
    {                       // LCD2 init sequence//NEW
    	 //Gray set start
	HAL_LCD_DELAY   + 25,
	HAL_LCD_COMMAND + 0xCB,     
	HAL_LCD_PARAM   + 0x28,     
	HAL_LCD_PARAM   + 0x00,     
	HAL_LCD_PARAM   + 0x42,     
	HAL_LCD_PARAM   + 0x00,     
	HAL_LCD_PARAM   + 0x59,     
	HAL_LCD_PARAM   + 0x00,     
	HAL_LCD_PARAM   + 0x73,     
	HAL_LCD_PARAM   + 0x00,     
	HAL_LCD_PARAM   + 0x9a,     
	HAL_LCD_PARAM   + 0x00,     
	HAL_LCD_PARAM   + 0x9e, 
	HAL_LCD_PARAM   + 0x00,     
	HAL_LCD_PARAM   + 0xaf,     
	HAL_LCD_PARAM   + 0x00,     
	HAL_LCD_PARAM   + 0xbd,     
	HAL_LCD_PARAM   + 0x00, 
	//////////////////////
	HAL_LCD_PARAM   + 0xc9,     
	HAL_LCD_PARAM   + 0x00,     
	HAL_LCD_PARAM   + 0xd3,     
	HAL_LCD_PARAM   + 0x00,     
	HAL_LCD_PARAM   + 0xdb,     
	HAL_LCD_PARAM   + 0x00,     
	HAL_LCD_PARAM   + 0xe3,     
	HAL_LCD_PARAM   + 0x00,     

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -