各位朋友:学习STM32 LCD显示时,用SSD1289芯片显示图片时,显示得乱七八糟的。如图:
我的图片显示函数如下:
void LCD_WriteBMP(uint8_t Xpos, uint16_t Ypos, uint8_t Height, uint16_t Width, uint8_t *bitmap)
{
uint32_t index;
uint32_t size = Height * Width;
uint16_t *bitmap_ptr = (uint16_t *)bitmap;
LCD_SetDisplayWindow(Xpos, Ypos, Width-1, Height-1);
//LCD_WriteReg(0x03, 0x1038); //如果需要横向显示图片,将此去掉屏蔽 ,同时将Width和Hight调换一下就可以
LCD_WriteRAM_Prepare();
for(index = 0; index < size; index++)
{
Write_Dat(*bitmap_ptr++);
}
//恢复窗体大小
LCD_WriteReg(R68, 0x0000); //水平方向GRAM起始地址
LCD_WriteReg(R68, 0xEF00); //水平方向GRAM结束地址
LCD_WriteReg(R69, 0x0000); //垂直方向GRAM起始地址
LCD_WriteReg(R70, 0x013F); //垂直方向GRAM结束地址
}
不知错在哪里了,弄了好久都没搞好,愁死了!求助下各位了!!!
|