st7735屏幕移植-高清图片显示
文章目录
- 1、屏幕驱动原理
- 2、配置驱动
- 3、源码
最近在b站上看到有这个,是国外的一个大佬做的,主控用的是f103,然后屏幕用的是ST7735的驱动IC,该大佬还做了播放视频做的真不错,就想着来复现下,不过大佬是用的ARDUINO写的代码,属实是太强了,然后我把他移植到了我的驱动这边来尝试下,效果如下所示:
1、屏幕驱动原理
我们常见的st7735屏幕大概这样的,可能有一点区别,但是区别不大,最起码的引脚都是有的,可以当成同一种使用。
接口说明:
序号 | 引脚标号 | 说明 |
---|---|---|
1 | VCC | 5V/3.3V电源输入 |
2 | GND | 接地 |
3 | CS | 液晶屏片选信号,低电平使能 |
4 | RESET | 液晶屏复位信号,低电平复位 |
5 | A0 | 液晶屏寄存器/数据选择信号,低电平:寄存器,高电平:数据 |
6 | SDA | SPI总线写数据信号 |
7 | SCK | SPI总线时钟信号 |
8 | LED | 背光控制,高电平点亮,如无需控制则接3.3V常亮 |
屏幕数据手册太多了,建议需要的自己看: ST7735数据手册
2、配置驱动
首先我们配置SPI,这里可以尽量拉高,我这里应该是拉到最高了,SPI的最大通信速率取决于低速设备的通信速率。
这里我们可以来打开DMA,这样通过发送缓存数组就可以达到一个很快的刷新率:
之后配置一些相关的引脚,主要是复位引脚然后片选还有背光,这里背光是可以调节的,甚至如果不想设置背光,可以直接将他接到3.3v的输出引脚上!
下面就是我们要移植的驱动了,首先还是修改我们的宏定义,使宏定义符合要求
然后在cfg文件中有是否开启DMA的选项,这里我们通过改变宏参数就可以选择是否使用DMA
下面就可以编写屏幕测试函数了,这个测试也是一个github上大佬写的,使用了各种图形,还是很不错的!
最后我们就可以把程序下载到开发板来测试了:
这里我展示下使用字符串来测试,初始化代码如下所示:
将程序下载到开发板,就可以看到屏幕上已经显示出我们的数据了:
下面来试下图片,首先我们需要把图片提取每个像素点的RGB565的数值,这里提供了python的程序,可以参考使用这个程序来设计:
from PIL import Image
import sys
import osif len(sys.argv) != 4:print("Usage: {} <image-file> <width> <height>".format(sys.argv[0]))sys.exit(1)fname = sys.argv[1]W = sys.argv[2]
print("\r\n")
print("<width> " + str(W))H = sys.argv[3]
print("<height> " + str(H))img = Image.open(fname)if img.width != int(W) or img.height != int(H):print("Error: 图片尺寸输入错误 )!!!");sys.exit(2)f = open("picFile.txt", "a")f.write("// size " + str(W) + " x " + str(H) + " \n");
f.write("const unsigned short img[] = { \n ");for y in range(0, img.height):s = ""for x in range(0, img.width):(r, g, b) = img.getpixel((x, y))color565 = ((r & 0xF8) << 8) | ((g & 0xFC) << 3) | ((b & 0xF8) >> 3)color565 = ((color565 & 0xFF00) >> 8) | ((color565 & 0xFF) << 8)s += "0x{:04X},".format(color565)s += " \n"f.write(s)f.write("}; \r\n")
f.close()
print("\r\n转换完成\r\n")
该程序如果使用的是pycharm这类的ide是无法实用的,需要我们在命令行中进行调用,调用方法如下所示:
最后我们将转换好的数据填充到我们准备好的数组中:
将程序下载到开发板就可以看到现象了:
3、源码
本次文件过大,包括复现的大佬的代码,这里就不贴了,直接放到我的gitee上,需要的可以去查看:源码
st7735屏幕移植-高清图片显示相关推荐
- 服务器把高清图片显示成表情图,图片上传被压缩怎么办?教你如何让公号图片变得高清!_【如何,得高,怎么,图片,表情包CC】...
[图片上传被压缩怎么办?教你如何让公号图片变得高清!] 内容提要:(2017-11-10)今天你斗图了吗? 到处搜集很费时间啊!但又不会ps--怎么办? △没错,就素这个了! 制作详解 这里我们主要分 ...
- android大图、高清图片处理
Android大图.高清图片处理 Android中,系统分配给手机app的内存是有限的,现阶段根据不同的手机分配的最大内存也不一样,少的只有几十M.当我们以Bitmap的形式把高清的大图加载到内存当中 ...
- iphonex正面图_iPhoneX高清图片真机-iPhoneX图片大全大图下载-西西软件下载
iPhoneX图片大全大图是专为大家带来的最新发布的iPhoneX的手机高清图片,这次的iPhoneX采用的是期待已久的全面屏,看起来视觉效果确实非常震撼,而且真机也非常的漂亮,欢迎大家前来下载iPh ...
- 高清图片在不同移动端设备上的显示效果
今天看到一道前端面试题,是别人面试自己很喜欢的前端团队时出的题目:一张高清图片,怎么保证其在不同移动端设备上的显示效果? 看到这个问题,我就一脸懵逼,实际上我连移动端那些像素都搞不清楚,这道题给我的话 ...
- ECCV 2020 Oral | 可逆图像缩放:完美恢复降采样后的高清图片
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文介绍的是ECCV 2020 Oral论文<Inverti ...
- 11个免费高清图片下载站
title: 11个免费高清图片下载站 tags: [高清,图片,下载] categories: [高效率生活,技巧] grammar_cjkRuby: true copyright: true 当你 ...
- 二十多个免费高清图片素材网站送给你
用心分享,共同成长 没有什么比你每天进步一点点更重要的了 本文已经收录至我的github,欢迎大家踊跃star 和 issues. https://github.com/midou-tech/arti ...
- 免费壁纸背景高清图片素材网站
看到大家都在问壁纸背景高清图片素材,既要免费又要质量好,数量还要多,小编好不容易挖到了宝藏素材网站哦,不知道爱给网这个网站大家认识不,资源优质数量庞大,使用体验也很好,要是需要的话,赶紧看一看,小编会 ...
- PPT如何另存为高清图片
最近在用PPT做海报时发现,不管是存为 jpg 还是 tif 格式,PPT均无法将海报另存为高清图片,即使在另存为时选择其他的分辨率,最终输出的图片还是96 dpi,即PPT的默认分辨率. 于是搜索了 ...
- Invertible Image Rescaling 可逆图像缩放:完美恢复降采样后的高清图片(ECCV 2020 Oral )
论文地址:https://arxiv.org/pdf/2005.05650.pdf 开源代码:https://github.com/pkuxmq/Invertible-Image-Rescaling( ...
最新文章
- 使用druid连接池的超时回收机制排查连接泄露问题
- VTK:Video之MPEG2
- 进击的Objective-C--------Objective-C基础(-)
- 实现tomcat的https单向认证及双向认证
- 8VC Venture Cup 2016 - Final Round (Div. 2 Edition) C. XOR Equation 数学
- 几个跨平台移动App开发方案框架比较
- 持续集成、持续交付、微服务----微服务
- XTU1340Wave
- java玫瑰花代码_给爱人的玫瑰花表白程序代码–Java版 | 学步园
- RMAN-06004 RMAN-20003
- Waited too long for library cache load lock
- php,tp5关键词,分词模糊查询并根据查询条件排序
- 思科交换机路由器 连接配置步骤
- Windows桌面应用程序(1-2-4-2nd) 桌面窗口管理器
- Java实现项目电影购票系统(swing界面)
- 《内网安全攻防:渗透测试实战指南》读书笔记(八):权限维持分析及防御
- windows重装系统
- 将数字字符串转换为人民币大写,壹、贰、叁、肆、伍、陆、柒、捌、玖、拾
- Java基础学习经验分享
- CIO应当牢记iPhone的七条安全建议
热门文章
- Javacv录制视频
- Android 音视频开发学习思路大纲
- 学习笔记(3):掌握JQuery视频教程-jquery选择器03
- 比较器与滞回比较器的原理及应用
- java cms文章管理_孔浩java cms完整视频教程_爱分享666
- 研究生做java如何发论文_研究生三年, 我是如何在CSSCI期刊上发表5篇论文,挣得2万元国家奖学金的?...
- linux镜像ISO文件下载
- java heapdump 分析工具_Heapdump分析软件
- 性能测试案例模板 性能测试用例模板 测试案例 性能用例 模板 容我想想之性能测试系列培训...
- FlyMcu 串口无法打开 串口被占用