سلام به دوستان من یه تابعی رو برای اینیت کردن اولیه t107bl نوشتم میخوام بدونم کسی از دوستان این کنترلر رو تهیه کرده ؟؟؟؟بردی رو براش زده؟؟؟؟ میخواستم بدونم نتیجه این هدر برای دیگران هم مثل منه بازم این اقا صادق گل که تو این ضمینه واقعا پایه بود
[PHP]void T107bl_Init(void)
{
//Serial Bus Register Set Page 0
I2C_write_BYTE( page_0 , 0xC8, 0x14); // assume XTALI is 27MHz
I2C_write_BYTE( page_0 , 0xC9, 0x02); //
I2C_write_BYTE( page_0 , 0xCA, 0x03); // Set PLLclk = 18.56MHz ///// PNLclk 9,28MHz(CPH)
I2C_write_BYTE( page_0 , 0xCB, 0x06); // PIXclk = 3.09MHz
I2C_write_BYTE( page_0 , 0xC0, 0x20);
I2C_write_BYTE( page_0 , Pin_Function_Select_REG , 0x9c ); // TTL_Output_Mode RGB888 output 0xFE
//DSP Colck Polarity
I2C_write_BYTE( page_0 , 0xC1 , 0x10);
//H&V Main Display Pixel Clock Setted
I2C_write_BYTE( page_0 , 0xDC , (H_Size&0xFF)); //H Size //HMDISP_SIZE_L_REG
I2C_write_BYTE( page_0 , 0xDD , (H_Size>>8)); //HMDISP_SIZE_H_REG
I2C_write_BYTE( page_0 , 0xDE , (V_Size&0xFF)); //V Size //VMDISP_SIZE_L_REG
I2C_write_BYTE( page_0 , 0xDF , (V_Size>>8)); //VMDISP_SIZE_H_REG
//LCD Output Control Register Set
I2C_write_BYTE( page_0 , 0xB0 , DISP_DFLT_HDENS); // Display Window Horizontal Start Register
I2C_write_BYTE( page_0 , 0xB2 , DISP_DFLT_VDENS); // Display Window Vertical Start Register
I2C_write_BYTE( page_0 , 0xB4 , (H_Size&0xFF)); //H Width //DWHSZ_L_REG
I2C_write_BYTE( page_0 , 0xB5 , (H_Size>>8)); //DWHSZ_H_REG
I2C_write_BYTE( page_0 , 0xB6 , (V_Size&0xFF)); //V Width //DWVSZ_L_REG
I2C_write_BYTE( page_0 , 0xB7 , (V_Size>>8)); //DWVSZ_H_REG
I2C_write_BYTE( page_0 , 0xB8 , (DISP_DFLT_HTOTAL&0xFF)); //Display Panel Horizontal Total Dots per Scan Line LSB Register
I2C_write_BYTE( page_0 , 0xB9 , (DISP_DFLT_HTOTAL>>8)); //Display Panel Horizontal Total Dots per Scan Line MSB Register
I2C_write_BYTE( page_0 , 0xBA , (DISP_DFLT_VTOTAL&0xFF)); //Display Panel Vertical Total Lines per Frame LSB Register
I2C_write_BYTE( page_0 , 0xBB , (DISP_DFLT_VTOTAL>>8)); //Display Panel Vertical Total Lines per Frame SB Register
I2C_write_BYTE( page_0 , 0xBC , DISP_DFLT_HSWIDTH); //Display Panel HSYNC Width Register
I2C_write_BYTE( page_0 , 0xBE , DISP_DFLT_VSWIDTH); //Display Panel VSYNC Width Register
// PAGE 0 REGISTTER SETTING
I2C_write_BYTE( page_0 , 0x0A , 0x60); // ADC Channel 0 Offset // ADC Channel 0 DC Offset Control
I2C_write_BYTE( page_0 , 0x0B , 0x60); // ADC Channel 1 Offset // ADC Channel 1 DC Offset Control
I2C_write_BYTE( page_0 , 0x0C , 0x60); // ADC Channel 2 Offset // ADC Channel 2 DC Offset Control
I2C_write_BYTE( page_0 , 0x1A , 0x87); // ADC Analog AGC Selection
I2C_write_BYTE( page_0 , 0xC2 , 0x12); // Panel VSYNC Frame Delay Control Register
// for image quality
I2C_write_BYTE( page_0 , 0x6C , 0x80); // Chroma Saturation Adjust Register
I2C_write_BYTE( page_0 , 0x60 , 0x00); // DCTI Control Register
I2C_write_BYTE( page_0 , 0x61 , 0x88); // Peaking Register
I2C_write_BYTE( page_0 , 0x62 , 0x18); // Peaking Band-Pass Coefficient Register
I2C_write_BYTE( page_0 , 0x63 , 0x0F); // Peaking High-Pass Coefficient Register
I2C_write_BYTE( page_0 , 0x64 , 0x04); // Peaking Low-Pass Coefficient Register
I2C_write_BYTE( page_0 , 0x66 , 0x88); // DCTI_1 Gain and Coring Register
I2C_write_BYTE( page_0 , 0X1C , 0xF0); // Blank Sync Level
I2C_write_BYTE( page_0 , 0x0D , 0x28); // ADC General Control Configuration Register FOR CVBS/S-Video/YPbPr INPUT
I2C_write_BYTE( page_0 , 0x11 , 0x07); // YPbPr Clamping Control Register
I2C_write_BYTE( page_0 , 0x17 , 0x4c); //
//Scaling
I2C_write_BYTE( page_0 , 0x72 , 0x33); // Horizontal Scale Step LSB Register
I2C_write_BYTE( page_0 , 0x73 , 0x73); // Horizontal Scale Step MSB Register
I2C_write_BYTE( page_0 , 0x74 , 0x00); // Vertical Scale Step LSB Register
I2C_write_BYTE( page_0 , 0x75 , 0x40); // Vertical Scale Step MSB Register
//Gamma and Pattern Gen. Register Set
I2C_write_BYTE( page_0 , 0x9C , 0x02); // Pattern Color Gradient & Dithering Mode Register
I2C_write_BYTE( page_0 , 0x90 , 0x04); // Image Function Control Register
//Serial Bus Register Set Page 1
//Infra-Red Register Set
I2C_write_BYTE( page_1 , 0x40 , 0xEC); // IR Sampling Tick LSB Register
I2C_write_BYTE( page_1 , 0x41 , 0x5E); // IR Sampling Tick MSB Register
I2C_write_BYTE( page_1 , 0x47 , 0x98); // IR Stream 1 Register
//Serial Bus Register Set Page 2
I2C_write_BYTE( page_2 , 0x3F , 0x00); // Soft Reset Register
I2C_write_BYTE( page_2 , 0x2E , 0x82); // Active Video Horizontal Start Time Register
I2C_write_BYTE( page_2 , 0x2F , 0x30); // Active Video Horizontal Width Register
I2C_write_BYTE( page_2 , 0x0C , 0x8a); // Chroma AGC Register
I2C_write_BYTE( page_2 , 0x18 , 0x21); // Chroma DTO Incremental 0 Register
I2C_write_BYTE( page_2 , 0x19 , 0xf0); // Chroma DTO Incremental 1 Register
I2C_write_BYTE( page_2 , 0x1A , 0x7c); // Chroma DTO Incremental 2 Register
I2C_write_BYTE( page_2 , 0x1B , 0x0f); // Chroma DTO Incremental 3 Register
I2C_write_BYTE( page_2 , 0x30 , 0x24); // Active Video Vertical Start Register
I2C_write_BYTE( page_2 , 0x31 , 0x61); // Active Video Vertical Height Register
I2C_write_BYTE( page_2 , 0x82 , 0x42); // Chroma DTO Incremental 0 Register
I2C_write_BYTE( page_2 , 0x04 , 0xD8); // Luma AGC Target Value Register
I2C_write_BYTE( page_2 , 0x10 , 0x27); // AGC Peak Nominal Register
I2C_write_BYTE( page_2 , 0x00 , 0x00); // Video Source Selection of Comb Filter Register
I2C_write_BYTE( page_2 , 0x03 , 0x00); // Comb Filtering Mode Register
I2C_write_BYTE( page_2 , 0x02 , 0x4F); // Y/C AGC Enable Register
I2C_write_BYTE( page_2 , 0x01 , 0x01); // Bandwidth Control Register
I2C_write_BYTE( page_2 , 0x80 , 0x05); // Luminance Peaking Control Register
I2C_write_BYTE( page_2 , 0x07 , 0x01); // Y/C Output Control Register
I2C_write_BYTE( page_2 , 0x08 , 0x70); // Luma Contrast Register
I2C_write_BYTE( page_2 , 0x0A , 0x58); // Chroma Saturation Register
I2C_write_BYTE( page_2 , 0x09 , 0x18); // Luma Brightness Register
}
[/PHP]