📄 hal_config.c
字号:
HAL_LCD_PARAM + 0x10,
HAL_LCD_PARAM + 0x1C,
HAL_LCD_PARAM + 0x28,
HAL_LCD_PARAM + 0x32,
HAL_LCD_PARAM + 0x3A,
HAL_LCD_PARAM + 0x41,
HAL_LCD_PARAM + 0x47,
HAL_LCD_PARAM + 0x4C,
HAL_LCD_PARAM + 0x51,
HAL_LCD_PARAM + 0x55,
HAL_LCD_PARAM + 0x5A,
HAL_LCD_PARAM + 0x5F,
HAL_LCD_PARAM + 0x67,
HAL_LCD_PARAM + 0x72,
HAL_LCD_PARAM + 0x7E,
//Display control set start
HAL_LCD_COMMAND + 0xB6,
HAL_LCD_PARAM + 0x7E,
HAL_LCD_PARAM + 0x0A,
HAL_LCD_PARAM + 0x84,
HAL_LCD_PARAM + 0x86,
HAL_LCD_PARAM + 0x82,
//Temperature gradients of LCD driver voltage set start
HAL_LCD_COMMAND + 0xB7,
HAL_LCD_PARAM + 0x02,
HAL_LCD_PARAM + 0x00,
HAL_LCD_PARAM + 0x00,
HAL_LCD_PARAM + 0x00,
HAL_LCD_PARAM + 0x00,
HAL_LCD_PARAM + 0x00,
HAL_LCD_PARAM + 0x1C,
HAL_LCD_PARAM + 0x00,
HAL_LCD_PARAM + 0x00,
HAL_LCD_PARAM + 0x00,
HAL_LCD_PARAM + 0x00,
HAL_LCD_PARAM + 0x00,
HAL_LCD_PARAM + 0x00,
HAL_LCD_PARAM + 0x00,
//Drive position set start ***************??
HAL_LCD_COMMAND + 0xBA,
HAL_LCD_PARAM + 0x3F,
HAL_LCD_PARAM + 0x3F,
//Drive position set start
HAL_LCD_COMMAND + 0xBB,
HAL_LCD_PARAM + 0x04,
//Power control set start
HAL_LCD_COMMAND + 0xBE,
HAL_LCD_PARAM + 0x69,
HAL_LCD_PARAM + 0x01,
//sleep out
HAL_LCD_COMMAND + 0x11,
HAL_LCD_DELAY + 100,
//normal display mode on
HAL_LCD_COMMAND + 0x13,
//Display on
HAL_LCD_COMMAND + 0x29,
HAL_LCD_DELAY + 100,
//Memory write
HAL_LCD_COMMAND + 0x2C,
HAL_LCD_DELAY + 100,
//10251 Set end
HAL_LCD_ENDOFTABLE
},
{ // LCD3 init sequence
HAL_LCD_ENDOFTABLE
},
{ // S1D13716 init registers
{ REG0018_POWERSAVE, 0x01 },
{ REG0014_CLKSRC, 0x00 },
{ REG0010_PLL0, 0xDD },//this setting is 40M,50M is 0xDD 13M is 0x60
{ REG0011_PLL1, 0x1C },//this setting is 40M,50M is 0x1C 13M is 0xF0
{ REG0012_PLL2, 0x20 },
{ REG0015_SERLCDCLK, 0x41 },//I2C Clock=sysclock/16
{ REG0014_CLKSRC, 0xB1 },//LCDPCLK=sysclock/24
{ REG0016_LCDPCLKDIV, 0x00 },
{ REG0018_POWERSAVE, 0x04 },
{ 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, 0x03 },//Data bus width 8 bits format 565
{ REG0048_LCD3SETTING, 0x00 },//Not set
{ REG004E_SCALEUP, 0x00 },//Encode Scale Overlay Disable
{ REG004C_DISPSETTING, 0x62 },//Overlay with Main and Overlay is 8 bits and select lcd2
{ 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, 0x03 },//Reset and enable resizer
{ 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 }
},
{
// 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, 0xe2 }, //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 S1D10253
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
//Soft reset
HAL_LCD_DELAY+ 0x100,
HAL_LCD_COMMAND + 0x2C,
HAL_LCD_DELAY + 0x100,
HAL_LCD_COMMAND + 0x02, //internal oscillation on
HAL_LCD_COMMAND + 0x01, //DIV2=0,clock=OSC(DB2)
HAL_LCD_COMMAND + 0x26, //DCDC,AMP on
HAL_LCD_COMMAND + 0x01, //DCDC1 on
HAL_LCD_COMMAND + 0x26,
HAL_LCD_COMMAND + 0x09, //AMP on
HAL_LCD_COMMAND + 0x26,
HAL_LCD_COMMAND + 0x0B, //DCDC2 on
HAL_LCD_COMMAND + 0x26,
HAL_LCD_COMMAND + 0x0F, //DCDC3 on
HAL_LCD_COMMAND + 0x10, //duty=1/160,SDIR=0,SWP=0
HAL_LCD_COMMAND + 0x22, //SWP=0
HAL_LCD_COMMAND + 0x20, //DC-DC
HAL_LCD_COMMAND + 0x05,
HAL_LCD_COMMAND + 0x22, //Bias=1/5
HAL_LCD_COMMAND + 0x33,
HAL_LCD_COMMAND + 0x24, //initial status,DCDC clock division set:fPCK=fOSC/16
HAL_LCD_COMMAND + 0x22,
HAL_LCD_COMMAND + 0x28, //temperature compensation TCS=00:0.00%degC
HAL_LCD_COMMAND + 0x11,
//notice-------------------------------------------------
HAL_LCD_COMMAND + 0x2A, //contrast control:
HAL_LCD_COMMAND + 0x3F, //normal and partial mode0:1/7bias,<0x6D???1/6 bias,<0xA9?
HAL_LCD_COMMAND + 0x2B,
HAL_LCD_COMMAND + 0x3F, //partial mode1:1/7bias,<0x6D,1/6bias,<0xA9??
HAL_LCD_COMMAND + 0x30, //GSM:00,65536 color,DSG:0,dummy SG is 1 SG,SGF:0,SG Frame inversion off,
HAL_LCD_COMMAND + 0x0F, //SGM:0,SG inversion off,SGP:11
HAL_LCD_COMMAND + 0x32, //INC:000,every subgroup row vector increment,VEC:0,normal sequence
HAL_LCD_COMMAND + 0x0E,
HAL_LCD_COMMAND + 0x34, //N-block inversion:
HAL_LCD_COMMAND + 0x90, //FIM:0,FIP:0,N-block inversion:0
HAL_LCD_COMMAND + 0x40, //MDI:0,memory data inversion off,
HAL_LCD_COMMAND + 0x00, //X/Y:0,Y address counter mode
HAL_LCD_COMMAND + 0x42, //X address set:COM0-COM127
HAL_LCD_COMMAND + 0x00,
HAL_LCD_COMMAND + 0x9F,
HAL_LCD_COMMAND + 0x43, //Y address set:SEG0-COM127
HAL_LCD_COMMAND + 0x08,
HAL_LCD_COMMAND + 0x87,
HAL_LCD_COMMAND + 0x45, //RSK:00,no RAM skip
HAL_LCD_COMMAND + 0x00,
HAL_LCD_COMMAND + 0x53, //SDP:00,normal display
HAL_LCD_COMMAND + 0x00, //if this flag:01,display reverse,not change DDRAM
HAL_LCD_COMMAND + 0x55, //PT:0,partial display off,PDM:0,partial mode0 selction
HAL_LCD_COMMAND + 0x00,
HAL_LCD_COMMAND + 0x56, //partial start line:line 0
HAL_LCD_COMMAND + 0x00,
HAL_LCD_COMMAND + 0x57, //partial end line:line 159
HAL_LCD_COMMAND + 0x9F,
HAL_LCD_COMMAND + 0x59, //area scroll set
HAL_LCD_COMMAND + 0x00, //SCM:00,entire display,01,upper,10,lower,11,center
HAL_LCD_COMMAND + 0x00, //scroll area start line:line 0
HAL_LCD_COMMAND + 0x9F, //scroll area end line:line 159
HAL_LCD_COMMAND + 0x00, //lower fixed number:0
HAL_LCD_COMMAND + 0x5A, //scroll start line:line 0
HAL_LCD_COMMAND + 0x00,
HAL_LCD_COMMAND + 0x51, //display on
//10253 Set end
HAL_LCD_ENDOFTABLE
},
{ // LCD3 init sequence
HAL_LCD_ENDOFTABLE
},
{ // S1D13716 init registers
{ REG0018_POWERSAVE, 0x01 },
{ REG0014_CLKSRC, 0x00 },
{ REG0010_PLL0, 0xDD },//this setting is 40M,50M is 0xDD
{ REG0011_PLL1, 0x1C },//this setting is 40M,50M is 0x1C
{ REG0012_PLL2, 0x20 },
{ REG0015_SERLCDCLK, 0x41 },//I2C Clock=sysclock/16
{ REG0014_CLKSRC, 0xB1 },//LCDPCLK=sysclock/24
{ REG0016_LCDPCLKDIV, 0x00 },
{ REG0018_POWERSAVE, 0x04 },
{ 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 16 bits format 565
{ REG0044_LCD2SETTING, 0x03 },//Data bus width 16 bits format 565
{ REG0048_LCD3SETTING, 0x00 },//Not set
{ REG004E_SCALEUP, 0x00 },//Encode Scale Overlay Disable
{ REG004C_DISPSETTING, 0x62 },//Overlay with Main and Overlay is 8 bits and select lcd2
{ 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, 0x03 },//Reset and enable resizer
{ REG0204_RESIZESX0, 0x00 },
{ REG0205_RESIZESX1, 0x00 },
{ REG0206_RESIZESY0, 0x00 },
{ REG0207_RESIZESY1, 0x00 },
{ REG0208_RESIZEEX0, 0x7F },//127
{ REG0209_RESIZEEX1, 0x00 },
{ REG020A_RESIZEEY0, 0x9F },//160
{ 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, 0x9F },//Overlay height
{ REG0212_MEMHORZRES, 0x7F },//Actual Horizontal Resolution in Pixels -1. jpeg encode use
{ REG0214_MEMVERTRES, 0x9F },//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 }
},
{
// 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, 0xe2 }, //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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -