在学习野火F103 LCD那章时,自己好奇弄了一下,没想到能成。(本人只是一个刚刚开始学习的小白,请多见谅。)
首先,用的是这个软件,具体设置如图,字节顺序一定要勾选,分辨率根据需求调就行了。
会生成这样的.c文件,把它全部复制到程序中。
/**
* @brief 显示图片
* @param usX,Y显示的开始位置
* usWidth、usHeight 图片的宽度,高度
* Picture[] 图片存放的数组
* @retval None
*/
void LCD_DrawPicture( uint16_t usY,uint16_t usX, uint16_t usWidth, uint16_t usHeight,const unsigned char Picture[])
{
uint16_t i;
uint16_t j;
uint16_t u;
ILI9341_DrawRectangle_with(0,0,240,320,WHITE);
for(i=usY;i<usHeight+usY;i++)
{
for(j=usX;j<usWidth+usX;j++)
{
u=Picture[(i-usY)*usWidth*2+(j-usX)*2]<<8&0xff00;
u=Picture[(i-usY)*usWidth*2+(j-usX)*2+1]|u;
LCD_SetTextColor(u);
ILI9341_SetPointPixel(j,i);
}
}
}
在野火例程中的板级支持包bsp_ili9341_lcd.c中添加如下的代码,到时候就调用这个函数就行了。
我的话是这么写的,记得在开头加上const unsigned char gImage_1[115200];