Writing a framebuffered driver for ILI9230 LCD Controller

Status
Not open for further replies.
I'm using STMF32F103VE to control an ILI9320 LCD Controller, the datasheet is here:**broken link removed**

I have problems of copying the framebuffer memory to the LCD itself. I tried to plot some pixels but they have weird and incorrect placement on the screen, I tried a lot of debugging but it seems there is something that I can't see. I attached the following three calls that I'm using the super loop, and I'm also using the FSMC with the LCD.
Code:
#define fbWidth 160#define fbHeight 200
u16 frameBuffer[fbWidth*fbHeight];// 160*200*16bit

here are the functions that I used to write to the FB then copy to the LCD.

void LCD_ClearFB(){
LCD_SetCursor(0,0);
u16 pixel;for( pixel =0; pixel< fbHeight*fbWidth; pixel++){
frameBuffer[pixel]=0x0;

}

}
void LCD_Flip()// copy the Framebuffer to the LCD Gram{
LCD_WriteRegister(0x0050,0);// Horizontal GRAM Start Address
LCD_WriteRegister(0x0051, fbWidth);// Horizontal GRAM End Address
LCD_WriteRegister(0x0052,0);// Vertical GRAM Start Address
LCD_WriteRegister(0x0053, fbHeight);// Vertical GRAM Start Address
LCD_WriteRegister(32,0);
LCD_WriteRegister(33,0);
LCD_WriteIndex(34);


u16 pixel;for( pixel =0; pixel< fbHeight*fbWidth; pixel++){
u16 color = frameBuffer[pixel];
LCD_WriteData(color);}
}
 
Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…