نوشته اصلی توسط
kamikazi
سلام لطفا تابع اینیتتونو بزارید تا ببینیم مشکل از چیه
سلام
خیلی خیلی ممنون از اینکه پاسخ میدین
مشکل از تغذیه PPL بود که پایه گراندش خوب لحیم نشده بود
الان یه مشکلی که دارم رنگ ال سی دیم طبیعی نیست
همه رنگارو خیلی تیره نشون میده
مثلا قرمز خالص رو یه قرمز تیره نشون میده
سفیدش هم خاکستریه بیشتر
اینترفیس ال سی دی 18 بیتی
اینترفیس میکرو 16 بیتی 5 6 5 هست
ال سی دی هم 4.3 اینچی
کد:
RES=0;
delay_ms(50);
RES=1;
write_command(0x01);
delay_ms(10);
write_reg(0xE0, 0x01); // START PLL
delay_ms(1);
write_reg(0xE0, 0x03); // LOCK PLL
delay_ms(1);
write_command(0xE2); // SET PLL freq=113.33MHz
write_data(0x22);
write_data(0x03);
write_data(0x54);
write_command(0xE6); // SET PCLK freq=6.5MHz/19MHz, pixel clk freq
write_data(0x01);
write_data(0x70);
write_data(0xA2);
write_command(0xB0); // SET LCD MODE SET TFT 18Bits MODE
write_data(0x0C); // SET TFT MODE & hsync+Vsync+DEN MODE
write_data(0x00); // SET TFT MODE & hsync+Vsync+DEN MODE
write_data(0x01); // SET horizontal size=320-1 HightByte
write_data(0xDF); // SET horizontal size=320-1 LowByte
write_data(0x01); // SET vertical size=240-1 HightByte
write_data(0x0F); // SET vertical size=240-1 LowByte
write_data(0x00); // SET even/odd line RGB seq.=RGB
write_command(0xB4); // SET HBP
write_data(0x02); // SET HSYNC Total = 440
write_data(0x0C);
write_data(0x00); // SET HBP = 68
write_data(0x2B);
write_data(0x28); // SET VBP 16 = 15 + 1
write_data(0x00);
write_data(0x00); // SET Hsync pulse start position
write_data(0x00); // SET Hsync pulse subpixel start position
write_command(0xB6); // SET VBP
write_data(0x01); //SET Vsync total 265 = 264 + 1
write_data(0x1D);
write_data(0x00); // SET VBP = 18
write_data(0x0B);
write_data(0x09); // SET Vsync pulse 8 = 7 + 1
write_data(0x00); // SET Vsync pulse start position
write_data(0x00);
write_reg(0xF0, 0x03); // SET pixel data I/F format=16bit
write_reg(0x36, 0x45); // SET R G B format = 6 6 6
write_command(0x2A);
write_data(0);
write_data(0);
write_data(0x01);
write_data(0xDF);
write_command(0x2B);
write_data(0);
write_data(0);
write_data(0x01);
write_data(0x0F);
write_command(0x29); // SET display on
write_command(0x3A);
write_data(0x60);
write_command(0x2C); // SET display on
for(i=0;i<=130000;i++){
HDATA=0b11111000;
write_data(0);}
یا دیتا درست نمیرسه بهش که تمام مسیرارو چک کردم اوکی بود
یا یه تنظیماتی داره که من تو Init انجام نمیدم
دوستان یاری برسانید
ممنون