lcd显示外部flash内的图片

1、把图片用 Img2Lcd 转换位数组,数组高位在前,低位在后。


2、把生成的文件转为bin文件烧录到外部flash。

生成的数组里面前面4个Byte时在flash里的地址,5-8大小,9-10是宽,11-12是高。

3、调用下面函数显示烧录到外部flash的图片。(在这之前需把底层驱动写好)
例:lcd_show_image(10,20,(void*)dy);


/*************************************************
//  x0:
//  y0:
//  *p_image:数组
//*************************************************/
void lcd_show_image(uint16_t x0, uint16_t y0, const Image_Info_1 *p_image)
{uint8_t REFLASH_LINE_SZ = read_line_num_case(p_image->width) ;//根据图片宽度,动态判定每次读取行数uint32_t   data_addr     = 0;                                                                 //extern flash image addr offsetuint8_t     line_yu           = p_image->high%REFLASH_LINE_SZ;        //余数行uint8_t  line_zheng    = p_image->high/REFLASH_LINE_SZ;        //整数行uint32_t     reflash_size  = p_image->width*2*REFLASH_LINE_SZ;     //一次读flash的字节数for(uint8_t line = 0; line <line_zheng;line++)//整数行{memset(image_buff,0,reflash_size);data_addr = p_image->start_addr+p_image->width*2*line*REFLASH_LINE_SZ;SPI_Flash_Read_4(data_addr, reflash_size, image_buff );LCD_CS_CLR_1;LCD_DC_COM;oled_set_pos_1(x0, y0+line*REFLASH_LINE_SZ, x0+p_image->width-1, y0+line*REFLASH_LINE_SZ+(REFLASH_LINE_SZ-1));  LCD_CS_SET_1;LCD_DC_DATA;LCD_CS_CLR_1;spi_write(image_buff, reflash_size);LCD_CS_SET_1;}if(line_yu)//余数行{data_addr = p_image->start_addr+p_image->width*2*line_zheng*REFLASH_LINE_SZ;SPI_Flash_Read_4(data_addr, p_image->width*2*line_yu, image_buff );LCD_CS_CLR_1;LCD_DC_COM;oled_set_pos_1(x0, y0+line_zheng*REFLASH_LINE_SZ, x0+p_image->width-1, y0+line_zheng*REFLASH_LINE_SZ+line_yu-1);  LCD_CS_SET_1;LCD_DC_DATA;LCD_CS_CLR_1;spi_write(image_buff, p_image->width*2*line_yu);LCD_CS_SET_1;}
}

lcd显示外部flash内的图片相关推荐

  1. STM32移植Littlevgl(LVGL)V8.0.2使用文件系统+BMP解码显示外部FLASH中图片

    说明:选择BMP解码图片的方式,是因为此方式不需要占用太多的RAM 一.主要参数及版本 MCU:STM32F103ZET6 LCD:2.8寸ILI9341,使用FSMC驱动 SPI FLASH:W25 ...

  2. Arduino应用开发——LCD显示GIF动图

    Arduino应用开发--LCD显示GIF动图 目录 Arduino应用开发--LCD显示GIF动图 前言 1 硬件介绍 1.1 硬件配置 1.2 硬件连接 2 开发环境搭建 2.1 安装开发板 2. ...

  3. STM32F103 硬件SPI驱动外部FLASH W25X16

    之前学习过使用,汇顶和盛源达的蓝牙芯片驱动外部FLASH,从外部FLASH中读出图片原始数据,并刷新到OLED上,最开始入门的芯片也是STM321但是在学校的时候基本没有使用STM32来驱动外部FLA ...

  4. CSR8675学习笔记:从外部Flash读取bin文件

    为了让CSR867x的开发更容易,现与思度科技联合推出CSR867x学习板[淘宝链接:思度科技CSR开发板]. 技术交流QQ群号:743434463 开发板会员QQ群号:725398389(凭订单号入 ...

  5. STM32计算文件、片上flash、外部flash等数据的MD5校验值

    首先将文件的md5值在这个网站计算出来http://www.metools.info/other/o21.html 代码依赖rt-thread操作系统的Fal和dfs_posix组件.其他地方使用改一 ...

  6. STEMWIN开发记录指南—-从外部flash显示图片

    最近想使用emwin用于stm32的GUI界面开发.现在记录一些遇到的问题,以及一些解决.未解决的方法. 不定期更新汇总. 目前开发平台正点原子的STM32F103ZET6,野火的STM32F429 ...

  7. emwin从外部flash中读取bmp图片显示

    在emwin中有提供了一个从外部读取图片数据进行显示的函数,如下: 而且提供了官方例程,不过官方历程中从外部读取是从外部文件系统中进行读取的bmp图片进行显示,官方例程如下 /* ********** ...

  8. bmp文件头_「正点原子FPGA连载」第十九章SD卡读BMP图片LCD显示

    1)摘自[正点原子]领航者 ZYNQ 之嵌入式开发指南 2)实验平台:正点原子领航者ZYNQ开发板 3)平台购买地址:https://item.taobao.com/item.htm?&id= ...

  9. [原创][连载].基于SOPC的简易数码相框 - Nios II SBTE部分(软件部分) - 从SD卡内读取图片文件,然后显示在TFT-LCD上...

    实在很抱歉,时间紧张,我只讲怎样从SD卡内读取bin文件(二进制文件),然后现在TFT-LCD上. 准备工具 1. Image2Lcd.zip 操作步骤 步骤1 寻找或制作240x320的图片 简单起 ...

最新文章

  1. Android报错:java.lang.NoClassDefFoundError: Failed resolution of: Ljava/util/Base64;如何解决
  2. 长安大学研究生院计算机学院,研究生教育
  3. php点击链接代码,php 获取超链接中文本的代码
  4. 小鹏汽车4月交付量5147台 同比增长285%
  5. java创新_Java没有创新了吗?Java 13提供可提高生产率和效率的功能
  6. python 网上爬取数据源码_Python爬虫经常爬不到数据,或许你可以看一下小编的这篇文章...
  7. ffmpeg之让视频快进
  8. ❤️PPT素材网站推荐❤️让你的PPT更加迷人❤️
  9. 新手学计算机剪辑,适合剪辑初学者使用的电脑剪辑软件
  10. macbook m1 打印机不显示打印队列的解决方法
  11. ISP (互联网服务提供商)
  12. 大师合作的传世名作,快来看看他们是怎么玩的!
  13. 微信小程序 一键下载所有图片和视频
  14. VS2017编译SQLite3生成.lib
  15. 惠普暗影精灵键盘灯怎么开
  16. 云服务器本质是虚拟机,云服务器本质是虚拟机
  17. Halium 9 尝鲜 -- 在小米平板4上的移植 (六)
  18. 第三章 C语言运算符与表达式练习题
  19. python中计时工具timeit模块的基本用法
  20. HDU6103.Kirinriki(尺取)

热门文章

  1. RS232中RTS和CTS的作用
  2. visual studio c++ 制作 简单的项目模板
  3. intel无线网络管理服务器,intel服务器管理口地址
  4. 初中计算机入门教学计划,初中计算机教学计划范例
  5. 最新的ssm毕业设计题目50例
  6. 软件测试周刊(第40期):大部分的恐惧与懒惰有关
  7. Unity Hub 无法登录
  8. asymmetric loss for multi-label classification
  9. 常用的继电器触点保护电路
  10. 开发必备windows效率工具软件强力推荐