🔍 搜索帖子 / 资讯 / 芯片型号…
论坛/全国大学生集成电路创新创业大赛/DDR200T TFT - LCD 显示屏 显示图片 NucleiStudio 蜂鸟E203 详细教程 RISC-V
DDR200T TFT - LCD 显示屏 显示图片 NucleiStudio 蜂鸟E203 详细教程 RISC-V
全国大学生集成电路创新创业大赛 作者 发布于 2022-04-13 18:31(1640 天前) 26036 浏览

前言

官方所给的LCD实验《nuclei-board-labs-master\e203_hbirdv2\ddr200t\spi_lcd》只有显示字符的函数,并未提供显示图片的函数,在本人查找资料的过程中,发现了STM32的一些函数正好能用上。这里给出代码。

IMG2LCD软件生成RGB565格式图片 使用取模软件对图片取模

这个软件很简单。要记得每次换完参数要点下==“重新载入”==,再保存。

在这里插入图片描述

实验结果

彩图
这里值得注意的是,MCU-FLASH装不下很大的图像,所以需要引入DDR3等外部存储器。详见本文“后记”
在这里插入图片描述

黑白图
在这里插入图片描述

生成彩色图片

==lcd.c==加上这个函数


void Draw_Color(uint16_t S_x,uint16_t S_y,const unsigned char *pic)
{
        uint32_t i=8,len;
        uint16_t temp,x,y,D_x=0,D_y=0;

        x=(uint16_t)((pic[2]<<8)+pic[3])-1;       //获取图片的宽度
        y=(uint16_t)((pic[4]<<8)+pic[5])-1;       //获取图片的高度

        len=2*x*y;        //获取图片像素点数

        while(i<(len+8))      //显示所有像素点
        {
                temp=(uint16_t) ( (pic[i]<<8) + pic[i+1] );     //image2lcd生成的是8位数组,十六位真彩色图像生成为高8位和低8位,这儿将其转换成16位数据,
                if(D_x>x) {D_x=0;D_y++;}         //逐行显示
                LCD_Fast_DrawPoint(S_x+D_x,S_y+D_y,temp);    //画点,拼凑图像,调用正点原子快速画点函数
                D_x++;
                i=i+2;
        }

}

生成黑白图片

==lcd.c==加上这个函数

void Draw_Black(uint16_t xstr,uint16_t ystr,uint16_t xend,uint16_t yend,uint8_t *pic)        //画图
{
    uint8_t temp,t1;
    uint16_t x_t=xstr,y_t=ystr;//,x=xstr,y=ystr;
    uint8_t *pusMsk = pic;//480000 65536
    for(y_t=ystr;y_t=xend)
                {
                    x_t=xstr;
                    y_t++;
                    break;
                }
            }
            pusMsk++;
    }
}

后记

做这个实验后,发现NucleiStudio往板载输入图片实际上是通过ilm或flash模式,其中:

  • ilm模式是断电后不保留下次开机就没了,烧录到mcu_
  • flash模式是断电后保留,烧录到mcu_flash里
    这里有一个问题,NucleiStudio把编译好的c程序还有图片数据,存储到mcu_flash里面,图片的大小往往会超出mcu_flash的容量,会限制读写。这时需要利用板载的RAM资源,这也是为什么需要扩展内存DDR3 SDRAM的原因。MCU_FLASH的型号是GD25Q32CSIG,存储容量 32 Mbit。

源码分享

实验所用所有函数-直接复制即可用
在本文的最后有网盘链接

https://blog.csdn.net/qq_43858116/article/details/124153659?spm=1001.2014.3001.5502

在这里插入图片描述

全部回复 135
wwww
wwww1266 天前 · 76 楼

1

魔
魔法少女小千1267 天前 · 77 楼

1

E
EinsteinXin1269 天前 · 78 楼

1

风
风序1271 天前 · 79 楼

你好,请问蜂鸟给的官方例程、实验,在哪里可以看呢?

月影,花香,风满楼
月影,花香,风满楼1271 天前 · 80 楼

1

1
12113004mail1273 天前 · 81 楼

1

z
zxy19991276 天前 · 82 楼

1

艾
艾安通1282 天前 · 83 楼

1

风
风序1283 天前 · 84 楼
回复 LANxg:

1

1

L
LANxg1283 天前 · 85 楼

1

汪
汪火龙1303 天前 · 86 楼

1

L
Lalaland1306 天前 · 87 楼

1

梦
梦游者1309 天前 · 88 楼

1

w
woaierxu1310 天前 · 89 楼

1

a
abombman1312 天前 · 90 楼

1

💡 请 登录 后参与讨论(微信扫码即登录/注册)