DDR200T TFT - LCD 显示屏 显示图片 NucleiStudio 蜂鸟E203 详细教程 RISC-V
教程 详细 显示 图片 LCD RISC 显示屏
2023-09-27 14:28:02 时间
DDR200T TFT - LCD 显示屏 显示图片 NucleiStudio 蜂鸟E203 详细教程 RISC-V
前言
官方所给的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<yend;)
{
temp = *pusMsk;
for(t1=0;t1<8;t1++)
{
if(temp&0x80)LCD_Fast_DrawPoint(x_t,y_t, BLACK);//画实心点
else LCD_Fast_DrawPoint(x_t,y_t,BACK_COLOR); //画空白点(使用背景色)
temp<<=1;
x_t++;
if(x_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://pan.baidu.com/s/1CObnOgNIziWXHDPiw0F-Ig?pwd=glri
提取码:glri
--来自百度网盘超级会员V3的分享
相关文章
- 网站搭建:从零搭建个人网站教程(11)
- Android Studio 安装配置教程 - Windows(详细版)
- Typora软件用法详细教程
- C#,入门教程(02)—— Visual Studio 2022开发环境搭建图文教程
- stm32mp1系列教程:STM32微控制器发展及stm32mp系列介绍
- 微信小程序 - 音乐列表点击播放 / 暂停音频,流畅切换音频(支持暂停音乐后,保留音乐 “进度“ 继续播放)最好用最详细的源码示例教程,适用于wechat列表点击后播放 mp3 wav 文件的需求
- 微信小程序 - 最好用的多选功能,列表点击选中并且高亮显示(支持全选 / 反选,回显设置默认选择数据的功能,点击选中并改变样式,点击选中并高亮显示效果)详细教程功能源码组件插件
- 微信小程序 - Vant weapp UI 框架环境搭建详细教程(Window)
- Vue - 超详细 “纯前端“ 将文件上传到阿里云 OSS 对象存储,最新阿里云 SDK 上传音频、视频、图片、文档、office 等(保姆级详细示例源码教程,每行代码都有注释小白一看就懂)
- E4X教程[5] - 全局 XML 对象
- Java Date Time 教程-时间测量
- Teleport Pro使用教程
- iOS 11开发教程(五)iOS11模拟器介绍二
- Xamarin XAML语言教程Xamarin.Forms中改变活动指示器颜色
- 小白都会超详细--ELK日志管理平台搭建教程
- SwiftUI 内功函数func之可选optional的元组返回类型(教程含源码)
- 用U盘制作并安装WIN10 64位原版系统的详细教程(该方法应该适用于任何一版的原版操作系统)
- 1、hadoop3.1.3 分布式集群搭建的详细教程
- 猿如意中的【ApiFox】工具的安装与使用教程,超详细,保姆级教程看这一篇文章就够了。
- mysql-5.7.29-winx64.zip windows安装教程