界面显示图片是很常见的需求,使用外挂的FLASH是最常用的方法。但是如果图片需求不大,比如说我们只要显示一个小图标,那么为了节省硬件成本,是不需要外挂一颗FLASH芯片的,我们可以将图标转成数组,存在单片机的程序空间。然后再调用出来显示。
调用的函数:
void MPU8_8bpp_Memory_Write (unsigned short x,unsigned short y,unsigned short w ,unsigned short h ,const unsigned char *data_array);
void MPU8_16bpp_Memory_Write (unsigned short x,unsigned short y,unsigned short w ,unsigned short h ,const unsigned char *data_array);
void MPU8_18bpp_Memory_Write (unsigned short x,unsigned short y,unsigned short w ,unsigned short h ,const unsigned char *data_array);
就用举例:
//填充背景色BTE_Solid_Fill(0,canvas_image_width,0,0,color65k_black,LCD_Width,LCD_Height);//显示一张120x60的图片数组MPU8_8bpp_Memory_Write (340,220,120,60,logo_bbs);
实际效果:
但这样的使用方式会受制于MCU的程序空间,图片数据占用相对较大,会占用MCU程序空间,实际应用请综合评估。
您可以访问论坛,获取更多参考信息:https://bbs.lcdvision.com.cn