【灵动Mini-F5265-OB】SPI驱动ST7735LCD屏

article/2025/6/28 19:32:26

前言我驱动了OLED屏,但是他也有局限,显示的内容较少,不能显示彩色。这篇跟大家分享如何使用硬件SPI驱动LCD屏。
【硬件环境】
1、灵动Mini-F5265-OB 开发板
2、ST7735LCD屏
【连接方式】

	1 GND       GND2 3.3V      VCC  3 PA5      SCL 4 PA7      SDA 7 PA4      CS     5 PA1      RES6 PA3      DC8 VCC      BL     

【代码实现】
1、开发板的示例提供了基于flash的代码,他使用了硬件片选的功能,因为ST7735相比Flash示例,多了两个引脚即数据/命令脚DC,复位RES(其中的背光我这里直连VCC),因此我对LCD的硬件初始如下:

void LcdIoInit(void)
{GPIO_InitTypeDef GPIO_InitStruct;SPI_InitTypeDef  SPI_InitStruct;RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1, ENABLE);SPI_StructInit(&SPI_InitStruct);SPI_InitStruct.SPI_Mode      = SPI_Mode_Master;SPI_InitStruct.SPI_DataSize  = SPI_DataSize_8b;SPI_InitStruct.SPI_DataWidth = 8;SPI_InitStruct.SPI_CPOL      = SPI_CPOL_Low;SPI_InitStruct.SPI_CPHA      = SPI_CPHA_1Edge;SPI_InitStruct.SPI_NSS       = SPI_NSS_Soft;SPI_InitStruct.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_4;SPI_InitStruct.SPI_FirstBit  = SPI_FirstBit_MSB;SPI_Init(SPI1, &SPI_InitStruct);SPI_BiDirectionalLineConfig(SPI1, SPI_Enable_RX);SPI_BiDirectionalLineConfig(SPI1, SPI_Enable_TX);RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);GPIO_PinAFConfig(GPIOA, GPIO_PinSource4, GPIO_AF_5);GPIO_PinAFConfig(GPIOA, GPIO_PinSource5, GPIO_AF_5);GPIO_PinAFConfig(GPIOA, GPIO_PinSource6, GPIO_AF_5);GPIO_PinAFConfig(GPIOA, GPIO_PinSource7, GPIO_AF_5);GPIO_StructInit(&GPIO_InitStruct);GPIO_InitStruct.GPIO_Pin   = GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_7 ;GPIO_InitStruct.GPIO_Speed = GPIO_Speed_High;GPIO_InitStruct.GPIO_Mode  = GPIO_Mode_AF_PP;GPIO_Init(GPIOA, &GPIO_InitStruct);GPIO_StructInit(&GPIO_InitStruct);GPIO_InitStruct.GPIO_Pin   = GPIO_Pin_6;GPIO_InitStruct.GPIO_Speed = GPIO_Speed_High;GPIO_InitStruct.GPIO_Mode  = GPIO_Mode_IPU;GPIO_Init(GPIOA, &GPIO_InitStruct);SPI_Cmd(SPI1, ENABLE);//初始化复位、数据引脚 GPIO_StructInit(&GPIO_InitStruct);GPIO_InitStruct.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_3;GPIO_InitStruct.GPIO_Speed = GPIO_Speed_High;GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_Init(GPIOA, &GPIO_InitStruct);}

初始化这里要特别提一句,如果分频系数过大会造成与LCD通信对不上,我最起先使用256分频,结果点不亮,查找原因好久,后面使用64分频就亮了。
2、接着修改驱动中的写入数据、写命令:


void LCD_Writ_Bus(uint8_t dat) 
{	SPI_SendData(SPI1, dat);while (RESET == SPI_GetFlagStatus(SPI1, SPI_FLAG_TXEPT)){}	
}void LCD_WR_DATA8(uint8_t dat)
{SPI_FLASH_CS_L();LCD_DC_HIGH();//дÊý¾ÝLCD_Writ_Bus(dat);SPI_FLASH_CS_H();
}void LCD_WR_DATA(uint16_t dat)
{SPI_FLASH_CS_L();LCD_DC_HIGH();//дÊý¾ÝLCD_Writ_Bus(dat>>8);LCD_Writ_Bus(dat);SPI_FLASH_CS_H();
}void LCD_WR_REG(uint8_t  dat)
{SPI_FLASH_CS_L();LCD_DC_LOW();//дÃüÁîLCD_Writ_Bus(dat);LCD_DC_HIGH();//дÊý¾ÝSPI_FLASH_CS_H();
}

4、当然我还需要声明一些宏命令:

#define SPI_FLASH_CS_H() SPI_CSInternalSelected(SPI1, DISABLE)
#define SPI_FLASH_CS_L() SPI_CSInternalSelected(SPI1, ENABLE)#define LCD_DC_LOW()       GPIO_WriteBit(GPIOA, GPIO_Pin_3, Bit_RESET)
#define LCD_DC_HIGH()      GPIO_WriteBit(GPIOA, GPIO_Pin_3, Bit_SET)#define LCD_RES_LOW()      GPIO_WriteBit(GPIOA, GPIO_Pin_1, Bit_RESET)
#define LCD_RES_HIGH()     GPIO_WriteBit(GPIOA, GPIO_Pin_1, Bit_SET)

这样我们的代码移植就完成了。
根据原理图连接好屏,下载到开发板,使用测试函数后效果如下:
在这里插入图片描述


http://www.hkcw.cn/article/GNGxMAyFsa.shtml

相关文章

袁一琦将暂停所有工作 粉丝呼吁专业团队支持

7月5日之后,袁一琦将在长沙演唱会后暂停所有工作。这一消息在社交平台发布后迅速引发粉丝震动,许多人将矛头指向经纪公司丝芭传媒,要求其立即为袁一琦配备专业团队并提供足够资源,避免她的事业停滞。袁一琦作为SNH48的“00后”代表,从16岁入团时的边缘站位到2023-2024年连…

高校保卫处招硕士研究生 校方回应 非保安岗位需专业技术

近日,有教育机构发布信息称,扬州大学计划在2025年招聘人事代理工作人员。其中,学校保卫处需要招聘一名从事校园消防安全与应急管理工作的人员,该岗位的学历要求为硕士研究生。扬州大学信息公开网显示,这则招聘信息由学校人力资源处于5月28日发布,确实包含了保卫处的相关岗…

王楚钦称外在问题都是还不够强大 反思内在原因

5月30日,国乒奥运冠军王楚钦接受了央视《面对面》专访,回顾了巴黎奥运会期间的一段经历。当时他的球拍在混双决赛夺冠后被摄影记者踩断,导致他在接下来的男单1/16决赛中使用备用拍,最终爆冷输给了瑞典选手莫雷加德。对于这一事件,王楚钦表示自己需要更加小心,可以将球拍放…

陈梦加盟《全员加速中》 明星阵容引期待

陈梦正忙着录制《全员加速中》,这是一个特别的真人秀挑战节目,邀请了黄晓明、TFBOYS、贾乃亮等众多明星参与。她对这次邀请感到非常开心,前几天还在自己的账号上发帖请求网友们帮忙拍摄数字密码,得到了许多积极回应,气氛十分热烈。现在的陈梦变得越来越漂亮,穿衣风格也更…

围棋少年坠亡 其父首面对镜头发声 父亲深陷悲痛与争议

5月27日,41岁的朱某林在福建省泉州市晋江市的家中难以入睡。他时而趴在床上,时而侧身或平躺着,但无论如何就是睡不着。他告诉红星新闻:“说实话,真睡不着。一闭上眼睛,就是孩子叫‘爸爸’的声音。”这一天,他的屁股几乎从未离开床铺,床上床单凌乱,枕边是几瓶只喝了一小…

Python uv包管理工具使用详解

一、UV 工具概述 ​UV​ 是由 Astral 团队(Ruff 工具开发者)用 Rust 编写的新一代 Python 包管理器,旨在替代传统工具链(如 pip、virtualenv、poetry 等),提供以下核心优势 : ​极速性能​&a…

30V/3A,云岑CP8335B,完美替换EUP3484

1 FEATURES ● Wide Input Voltage Range: 6V ~ 30V ● Low RDS(ON) for Internal Switches (Top/Bottom): 90mΩ/65 mΩ ● 3A output current capability ● 500kHz Switching Frequency Minimize the External Components ● Internal 1.5-ms Soft-Start ● 0.6V/0.8V/0.925…

Baklib内容中台AI赋能智能服务升级

AI驱动服务智能升级 通过智能语义解析与上下文意图识别技术的深度融合,Baklib内容中台实现了服务流程的智能化跃迁。基于自然语言处理(NLP)算法,系统能够自动拆解用户输入的复杂语义,精准识别隐性需求与交互场景&…

论文解读 - 统一的多模态理解和生成模型综述(下)

五、统一模型的数据集 大规模、高质量且多样化的训练数据是构建强大的统一多模态理解和生成模型的基础。这些模型通常需要在大量图像-文本对上进行预训练,以学习跨模态的相关性和表示。需要注意的是,在大规模多模态数据上进行训练之前,这些模…

(附代码)Langchain中语义文档分割器的使用与介绍

语义文档分割器的使用与背景 在前面文章中使用的文档分割器都是使用 特定字符 对文本进行拆分,这种拆分模式虽然考虑了文档中的上下文切断的问题,但是并没有考虑句子之间的语义相似性。如果有一篇长文本,需要将其分割成语义相关的块&#xf…

南航通报客机起飞15分钟紧急降落 电池冒烟引发返航

中国南方航空在微博上发布消息称,5月31日,CZ6850杭州飞往深圳的航班上发生了一起电池冒烟事件。一名乘客携带的相机电池和充电宝突然冒烟,乘务组迅速采取措施,及时处理了这一突发情况,消除了安全隐患。为了保障所有人的安全,机组决定立即返航,最终航班在起飞15分钟后安全…

华为OD机试真题——通过软盘拷贝文件(2025A卷:200分)Java/python/JavaScript/C++/C语言/GO六种最佳实现

2025 A卷 200分 题型 本文涵盖详细的问题分析、解题思路、代码实现、代码详解、测试用例以及综合分析; 并提供Java、python、JavaScript、C++、C语言、GO六种语言的最佳实现方式! 本文收录于专栏:《2025华为OD真题目录+全流程解析/备考攻略/经验分享》 华为OD机试真题《通过…

msvcp140.dll丢失?6种有效解决方法,解决程序启动错误!

“msvcp140.dll 丢失,无法启动程序!” —— 当你运行某些软件或游戏时,是否遇到这样的错误提示?msvcp140.dll 是 Microsoft Visual C 2015-2022 运行时库的核心文件,许多应用程序依赖它才能正常运行。一旦该文件缺失、…

本周披露并购重组进展的A股名单一览 并购活跃注入新动能

A股市场并购重组持续活跃,产业整合与战略转型交织,为资本市场注入新动能。二级市场上,拟购买包装饮用水公司江西润田实业100%股权的ST联合周五收盘实现3连板,拟跨界收购超高速视觉仪器厂商中科视界的富煌钢构斩获2连板。本周披露并购重组进展的A股上市公司共有16家,包括渤…

车辆坠桥致5死的断头路已加高护栏 新防护装置到位

近日,广东省东莞市环莞快速路虎门段发生了一起小汽车坠桥事故,导致5人死亡,引起了广泛关注。据通报,5月19日18时23分,一辆小汽车搭载4人沿环莞快速路行驶至虎门一水库特大桥路段时,因超速冲破防撞沙桶和护栏后坠桥,车上5名司乘人员受伤,送医抢救无效死亡。死者家属在接…

李连杰邀请头条网友提问 探讨武术与公益

62岁的李连杰在今年4月19日回归微博后,又于5月31日宣布入驻今日头条和抖音平台,让影迷们感叹“失踪人口重回大众视野”。当天,李连杰在抖音上发布了三条视频,讲述了自己开设抖音账号的原因,并介绍了端午节的习俗。他在视频中表示,希望与大家探讨武术、公益、电影和慈善等…

卫星地图 App 的实测体验深度解析

卫星地图 App 的实测体验深度解析 奥维互动地图 国内领先的地理数据平台: 整合天地图、百度地图、高德地图等主流数据源,国内高清卫星影像覆盖率高达98%,农村地区影像分辨率可达0.5米。支持BIM建模与实景三维模型加载,工程测绘…

【速写】PPOTrainer样例与错误思考(少量DAPO)

文章目录 序言1 TRL的PPO官方样例分析2 确实可行的PPOTrainer版本3 附录:DeepSeek关于PPOTrainer示例代码的对话记录Round 1(给定模型数据集,让它开始写PPO示例)Round 2 (指出PPOTrainer的参数问题)关键问题…

特朗普称将提高进口钢材关税激怒美盟友

“经济自残” 特朗普称将提高进口钢材关税激怒美盟友当地时间5月30日,美国总统特朗普称,将把美国进口钢铁和铝的关税从目前的25%上调至50%,引发加拿大和澳大利亚多方反对。加拿大劳工大会主席贝娅布鲁斯克表示,特朗普决定提高美国进口钢材关税是“对加拿大的又一次直接攻击…

你的龙舟我的龙舟好像不一样 端午风俗各具特色

划龙舟是端午节最热闹、最让人激动的内容之一。孩子们除了插艾草、挂菖蒲、吃粽子外,最喜欢的就是观看划龙舟。初夏的天气,天蓝水碧,轻风拂面。端午节那天,几艘龙舟一字排列停泊在河里。两岸彩旗飘扬,人山人海。哨声一响,顿时锣鼓喧天,喊声阵阵。几条龙舟像离弦的箭在水…