STM32&ili9341图片显示

一、图片显示主要代码,不包含ILI9341驱动部分

void LCDOpenWindows(u16 x, u16 y, u16 len, u16 wid)
{
        LCD_WR_REG(0X2A); 
        LCD_WR_DATA(x>>8);        //start 
        LCD_WR_DATA(x-((x>>8)<<8));
        LCD_WR_DATA((x+len-1)>>8);        //end
        LCD_WR_DATA((x+len-1)-(((x+len-1)>>8)<<8));
        
        LCD_WR_REG(0X2B); 
        LCD_WR_DATA(y>>8);   //start
        LCD_WR_DATA(y-((y>>8)<<8));
        LCD_WR_DATA((y+wid-1)>>8);   //end
        LCD_WR_DATA((y+wid-1)-(((y+wid-1)>>8)<<8));        
        LCD_WR_REG(0x2C); 
}


/****************************************************************************
* 名    称:void ili9341_DrawPicture(u16 StartX,u16 StartY,u16 EndX,u16 EndY,const unsigned char *pic)
* 功    能:在指定座标范围显示一副图片
* 入口参数:StartX     行起始座标
*           StartY     列起始座标
*           EndX      行结束座标
*           EndY       列结束座标
            pic             图片头指针
* 出口参数:无
* 说    明:图片取模格式为水平扫描,16位颜色模式
* 调用方法:ili9320_DrawPicture(0,0,100,100,(u16*)demo);
****************************************************************************/
void LCD_ili9341_DrawPicture(u16 StartX,u16 StartY,u16 Xend,u16 Yend,const unsigned char *pic)
{
    static   u16 i=0,j=0;


u16 *bitmap = (u16 *)pic;
    
    LCDOpenWindows(StartX,StartY,Xend,Yend);
    
    for(i=StartY;i<Yend;i++)
    {

            for(j=StartX;j<Xend;j++)
{
LCD_WriteRAM(*bitmap++); 
}        
    }
    
}


二、Image2LCD图片取模软件的设置方法

1、输出数据类型:C语言数组

2、扫描方式:水平扫描

3、输出灰度:16位真彩色

4、图片大小:按图片本身的尺寸设置即可

5、以下几项是不需要设置的(如被选中请取消):

A、包含图像头数据

B、自右至左,自底至顶扫描

C、高位在前(MSB First)

6、R5--G6--B5



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值