当前位置: 首页 > news >正文

【STM32】STemWin库,使用template API

目录

CubeMX配置

工程文件配置

Keil配置

STemwin配置

GUIConf.c

LCDConf.c

打点函数

修改屏幕分辨率

GUI_X.c

主函数

添加区域填充函数


移植过程中需要一些参考手册,如下

STemwin使用指南

emWin User Guide & Reference Manual

CubeMX配置

参考驱动编写

【STM32】ST7789屏幕驱动-CSDN博客

在这个基础上继续开发即可

需要注意的是一定要开启CRC

工程文件配置

打开本地STemwin库路径,一般在如下路径里面

新建STemwin文件夹用于存放需要用到的文件

复制config文件夹下这些文件并改名

这里有一个手册,关于emwin的可以参考

复制整个inc文件夹

复制lib文件夹下的这个文件

复制OS文件夹下的GUI_X.c

最终应该包含如下文件

Keil配置

添加路径和文件包含

修改库文件属性为库

此时编译会报2个错误,意思是有数据类型不匹配了

如下修改即可

STemwin配置

STemWin配置包含两块:GUI配置和LCD配置

GUI配置默认色彩和默认字体还有内存

LCD配置一些硬件相关的

主函数调用GUI_Init()来初始化GUI

GUIConf.c

这个数还是比较大的,可以改小一些

LCDConf.c

主要是设备创建链接函数和设置size函数,还有一些其他函数是用来做一些特殊用途的

初始化的时候会调用LCD_X_DisplayDriver()

STemWin库支持大部分芯片的屏幕

如果不支持的话,在模板文件内已经有了完整的功能,只需要实现打点函数和读点函数,如果屏幕不支持读点就不用实现读点函数了

这个ST7789芯片其实是支持的,不过既然是移植了,就当作不支持来做吧,后续会出一篇直接用自带的库的文章

打点函数

打点函数在一个叫做GUI驱动模板API的结构体变量内,是其中一个函数指针成员

将这个结构体和库链接起来

修改屏幕分辨率

]

GUI_X.c

在系统滴答定时器里添加OS_TimeMS自增,这里要extern一下这个变量

主函数

由于现在只添加了打点函数,效率其实非常低,最基本的清屏函数都需要一个点一个点地去设置坐标,填充像素……

在6.25MHz的时钟频率下,清屏花了6.8s还是非常震撼的

添加区域填充函数

在6.25MHz的时钟频率下是150ms的清屏时间,把SPI时钟提上去应该就会快很多了

此时如果尝试画图的话,速度还是会很慢,因为默认的情况下用的仍然是打点函数

在6.25MHz的时钟频率下大概要6.7s

这里将之前实现的画彩色单线函数补上

改进后显示全屏图片耗时195ms

提高时钟至50MHz,时间降为66ms

字符串显示貌似只会调用打点函数,自带库是会用多字节发送的

至此,STemWin的移植已经完毕了

 

相关文章:

  • vs2022 pcl1.15.0注意点
  • 实现当文本内容过长时,中间显示省略号...,两端正常展示
  • K8S+Prometheus+Consul+alertWebhook实现全链路服务自动发现与监控、告警配置实战
  • GitHub 趋势日报 (2025年04月12日)
  • 【C++】继承:万字总结
  • 《2025四大AI终极对决:如何用ChatGPT、DeepSeek、通义千问和文心一言提升项目管理效率?》
  • STM32 HAL库SPI读写W25Q128(软件模拟+硬件spi)
  • Python基础总结(四)之元组
  • 计算机视觉6——相机基础
  • (自用)毕业论文格式
  • 文件操作和 IO - 一些具体的使用栗子
  • 动手学深度学习:手语视频在VGG模型中的测试
  • 测试 笔记
  • 【计网】网络交换技术之报文交换(复习自用,了解,重要3)
  • 0x06.Redis 中常见的数据类型有哪些?
  • FutureTask 源码解析
  • 深入剖析 Axios 的 POST 请求:何时使用 qs 处理数据
  • 0基础 | 硬件滤波 C、RC、LC、π型
  • 基于Springboot+Mysql的闲一品(含LW+PPT+源码+系统演示视频+安装说明)
  • [16届蓝桥杯 2025 c++省 B] 水质检测
  • 美叙领导人25年来首次会面探索关系正常化,特朗普下令解除对叙经济制裁
  • 哪种“网红减肥法”比较靠谱?医学专家和运动专家共同解答
  • 上海市重大工程一季度开局良好,崇明线等按既定计划加快建设
  • 来伊份发布关于消费者反映蜜枣粽问题处理的情况说明:与消费者达成和解
  • 时隔4年多,这一次普京和泽连斯基能见面吗?
  • 多家中小银行存款利率迈入“1时代”