درود
من با stm32f103 با سرعت 73 مگ ال سی دی 4.3 اینج راه اندازی کردم
مشکل این هست که چرا سرعت انقدر پایینه
مثلا برای پاک کردم صفحه 1 تا 1.5 ثانیه طول میکشه
باید چیکار کنم که توی مثلا 50 میلی ثانیه یه عکس نمایش بده ؟؟؟
کد:
void LCD_Init(void)
{
SSD_RESET;
//LCD_Configuration();lcd_write_command
#define LCD_WriteCom LCD_WR_REG
#define LCD_WriteRAM LCD_WR_DATA
#define SSD1963_WriteCommand LCD_WriteCom
#define SSD1963_WriteData LCD_WriteRAM
#define TimeDelay(x) Delay_10ms(x/2)
/*ssd1963?????*/
LCD_WriteCom(0x00E2);
LCD_WriteRAM(0x0023);
// Set PLL with OSC = 10MHz (hardware)
// Multiplier N = 35, VCO (>250MHz)= OSC*(N+1), VCO = 360MHz
LCD_WriteRAM(0x0001);
// Divider M = 2, PLL = 360/(M+1) = 120MHz
LCD_WriteRAM(0x0004);
// Validate M and N values
SSD1963_WriteCommand(SSD1963_SET_PLL_MN);
SSD1963_WriteData(0x1D); // PLLclk = REFclk * 30 (300MHz)
SSD1963_WriteData(0x02); // SYSclk = PLLclk / 3 (100MHz)
SSD1963_WriteData(0x54); // dummy
TimeDelay(1);
LCD_WriteCom(0x00E0); // PLL enable
LCD_WriteRAM(0x0001);
TimeDelay(1);
LCD_WriteCom(0x00E0);
LCD_WriteRAM(0x0003);
TimeDelay(1);
LCD_WriteCom(0x0001); // software reset
TimeDelay(1);
LCD_WriteCom(0x00E6);
LCD_WriteRAM(0x0004);
LCD_WriteRAM(0x0093);
LCD_WriteRAM(0x00e0);
LCD_WriteCom(0x00B0); //LCD SPECIFICATION
LCD_WriteRAM(0x0000);
LCD_WriteRAM(0x0000);
LCD_WriteRAM((HDP>>8)&0X00FF); //Set HDP
LCD_WriteRAM(HDP&0X00FF);
LCD_WriteRAM((VDP>>8)&0X00FF); //Set VDP
LCD_WriteRAM(VDP&0X00FF);
LCD_WriteRAM(0x0000);
TimeDelay(1);
LCD_WriteCom(0x00B4); //HSYNC
LCD_WriteRAM((HT>>8)&0X00FF); //Set HT
LCD_WriteRAM(HT&0X00FF);
LCD_WriteRAM((HPS>>8)&0X00FF); //Set HPS
LCD_WriteRAM(HPS&0X00FF);
LCD_WriteRAM(HPW); //Set HPW
LCD_WriteRAM((LPS>>8)&0X00FF); //Set HPS
LCD_WriteRAM(LPS&0X00FF);
LCD_WriteRAM(0x0000);
TimeDelay(1);
LCD_WriteCom(0x00B6); //VSYNC
LCD_WriteRAM((VT>>8)&0X00FF); //Set VT
LCD_WriteRAM(VT&0X00FF);
LCD_WriteRAM((VPS>>8)&0X00FF); //Set VPS
LCD_WriteRAM(VPS&0X00FF);
LCD_WriteRAM(VPW); //Set VPW
LCD_WriteRAM((FPS>>8)&0X00FF); //Set FPS
LCD_WriteRAM(FPS&0X00FF);
TimeDelay(1);
LCD_WriteCom(0x00BA);
LCD_WriteRAM(0x0005);//0x000F); //GPIO[3:0] out 1
TimeDelay(1);
LCD_WriteCom(0x00B8);
LCD_WriteRAM(0x0007); //GPIO3=input, GPIO[2:0]=output
LCD_WriteRAM(0x0001); //GPIO0 normal
TimeDelay(1);
LCD_WriteCom(0x0036); //rotation
LCD_WriteRAM(0x0008);
TimeDelay(1);
LCD_WriteCom(0x00F0); //pixel data interface
LCD_WriteRAM(0x0003);
TimeDelay(1);
TimeDelay(1);
LCD_WriteCom(0x0029); //display on
TimeDelay(1);
LCD_WriteCom(0x00BE); //set PWM for B/L
LCD_WriteRAM(0x0006);
LCD_WriteRAM(0x0080);
TimeDelay(1);
LCD_WriteRAM(0x0001);
LCD_WriteRAM(0x00f0);
LCD_WriteRAM(0x0000);
LCD_WriteRAM(0x0000);
TimeDelay(1);
LCD_WriteCom(0x00d0);//??????????
LCD_WriteRAM(0x000d);
TimeDelay(1);
//LCD_Clear(BLACK);
}