0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STemwin图形库移植与运用

DS小龙哥-嵌入式技术 来源:DS小龙哥-嵌入式技术 作者:DS小龙哥-嵌入式技 2022-02-28 14:09 次阅读

一、环境介绍

主控MCU: STM32F103ZET6

STM32程序开发IDE: keil5

STM32程序风格: 采用寄存器方式开发,注释齐全,执行效率高,方便移植

硬件包含: 一块STM32F103ZET6开发板、一个3.5寸TFT电阻触摸显示屏(使用的是正点原子的3.5寸电阻触摸屏)

前言:STemwin图形界面库比较吃内存的,一般跑图形界面库都需要配一块SRAM,M3系列官方推荐频率是72MHZ(当前也是可以超频的),界面不是非常复杂,刷新要求不是特别高的情况下,跑起来还是不错的。

这篇文章主要讲解Stemwin的移植与基本使用。

下面示例图是为了讲解STemwin基本用法,做的界面两个例子。 QQ应用的界面完成之后加上网卡就可以完成局域网之间多个设备之间聊天了。

STemwin图形库移植与运用

poYBAGDYdXCAWkKMAAAAK8RNs4s030.pngSTemwin图形库移植与运用

poYBAGDYdXCAWkKMAAAAK8RNs4s030.pngSTemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

二、STemwin介绍

2.1 emWin介绍

emWin是由德国SEGGER公司开发,可为图形LCD设计提供高级支持,极大简化了LCD设计。为恩智浦ARM微控制器用户免费提供的emWin图形库。

在国内做嵌入式系统的大部分都使用emwin,其简单来说就是一套图形库。

电子硬件开发,常常要为设计一个良好的UI伤透脑筋,写很多的代码也不尽人意,还要不断调试,emwin正是解决这种用户界面需求的图形库,只要在你的设计中嵌入这种图形库,就能很方便使用里面的模块化设计,既能提高设计界面图形质量,还大大的减少开发时间。

SEGGER公司的产品

Segger微控制器股份有限公司开发与发布软件开发工具及ANSI C软件组件(中间件)给嵌入式系统使用并应用在许多工业应用中,如通信、医疗仪器、消费性电子产品、汽车工业及工业自动化设备。

  1. EmWin是SEGGER公司设计用来提供一个有效率的、与处理器与显示控制器无关的、可应用在任何图形显示器的图形用户界面.
  2. J-Link是SEGGER公司为支持仿真ARM内核芯片推出的仿真器
  3. emOS是SEGGER公司开发的一个实时操作系统,使用最小的资源提供一个完整的多任务系统,被设计应用在许多难处理的即时应用当中。
  4. emFile是SEGGER公司开发的嵌入式文件系统,支持FAT12、FAT16及FAT32。已经在保持最高速的前提下,优化了emFile,使之在RAM和ROM里占最小的存储器空间
  5. embos/ip是Segger开发的嵌入式TCP/IP程序驱动库。它是一个与中央处理器架构无关、且高效能的TCP/IP驱动库,在速度上、功能上及最小结构上已经做了最佳的优化。
  6. emUSB 是Segger开发的嵌入式USB协议栈。采用ANSI C的格式撰写,具有大批量通信传输和集成诸如MSD、CDC或HID设备类等特点。

拓展资料:

嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一。

嵌入式系统用在一些特定专用设备上,通常这些设备的硬件资源(如处理器、存储器等)非常有限,并且对成本很敏感,有时对实时响应要求很高等。特别是随着消费家电的智能化,嵌入式更显重要。像我们平常见到的手机、PDA、电子字典、可视电话、VCD/DVD/MP3 Player、数字相机(DC)、数字摄像机(DV)、U-Disk、机顶盒(Set Top Box)、高清电视(HDTV)、游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电控制系统、医疗仪器、航天航空设备等等都是典型的嵌入式系统。

Keil软件

Keil公司是一家业界领先的微控制器(MCU)软件开发工具的独立供应商。

Keil公司由两家私人公司联合运营,分别是德国慕尼黑的Keil Elektronik GmbH和美国德克萨斯的Keil Software Inc。Keil公司制造和销售种类广泛的开发工具,包括ANSI C编译器、宏汇编程序、调试器、连接器、库管理器、固件和实时操作系统核心(real-time kernel)。

Keil 官网虽然没有发布中文版本,但是Keil 系列软件却被中国80%以上的软硬件工程师使用,但凡与电子相关的专业,都会开始从单片机和计算机编程开始学习,而学习单片机自然会用到Keil 软件。国内由米尔科技、亿道电子、英倍特提供Keil 的销售和技术支持服务,他们是ARM公司合作伙伴,也是国内领先的嵌入式解决方案提供商。

2.2 UCGUI与STemwin介绍

说起UCGUI得先从UCOS说起,在国内做嵌入式系统的,开始入门OS的时候,大家应该都会选择uC/OS,主要是因为代码开源且资料众多。由于uC/OS的原因大家也一定接触了uC/GUI的嵌入式图形软件库。其实uC/Gui的核心代码并不是Micrium公司开发的,而是Segger公司为Micrium公司定制的图形软件库,当然也是基于Segger公司的emwin图形软件库开发的。所有说uC/GUI和emwin的使用方法没有区别。

在以前较旧的版本程序中uC/Gui的源代码是开源的(可以在网上能够找到),但是新版本的程序emWin和uC/gui只对用户提供库文件,是不开源的。

Segger 除了向Micrium公司提供定制的uC/GUI版本,还向其他的IC厂家提供定制服务,比如: 向ST 公司出售了emWin 的版权,从而ST公司也得到了定制版的emWin,然后改了名字叫 STemWin。当用户在 STM32 芯片上使用 emWin 软件库时,是不需要向 emWin 或 ST 公司付费的。还有NXP公司也使用了emWin的图形库,大家使用NXP芯片的时候同样也不需要支付费用。

总而言之,uC/GUI和STemWin都是 Segger 公司的 emWin 产品,而且它们的版本编号是统一的,如 uC/GUI 目前最新版本命名为uC-GUI V5.24, STemWin 最新版本命名为STemWin Library V5.24,emWin 最新版本则为 emWin V5.24,所以,要比较这三个软件库功能上的区别,只需要看它们的版本号就可以了。

在选择的时候,虽然功能上没有区别,但因为版权付费问题,在实际使用时就需要根据自己的平台来选择。如果我们使用的是 STM32 开发平台,自然我们选择的是STemWin;如果我们使用的是NXP的平台,我们就是用为NXP定制的emwim。

在使用特定的平台,我们也需要选择定制的emWin,在STemWin里有一个检测机制确定代码所运行的平台,若是 STM32 芯片,则运行正常,若非 STM32 芯片,就不能正常使用了。同样,NXP也是一样的机制。

如果使用的芯片没有授权emWin的版权,可以推荐使用UCGUI。

emWin官方下载地址:emWin

STemWin官方下载地址:STM32CubeF1 - STM32Cube MCU Package for STM32F1 series (HAL, Low-Layer APIs and CMSIS, USB, TCP/IP, File system, RTOS, Graphic - and examples running on ST boards) - STMicroelectronics

GCGUI官网下载地址:https://www.micrium.com/

2.3 为什么要学习图形界面框架?

很多产品需要人机交互,人机交互大多数是通过LCD来完成的,所以就需要我们在应用中设计LCD交互界面,简单的UI界面我们可以自己写代码完成,但是比较复杂、绚丽的界面自己来做就比较困难了。STemWin中提供了很多的控件,我们可以使用这些控件来完成复杂的界面设计。

STemwin图形库移植与运用

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

2.4 emwin下载地址

emwin下载地址: SEGGER - The Embedded Experts - Downloads - emWin

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

三、STemwin基本移植(不带操作系统)

3.1 获取keil软件自带的emwin库

在keil软件的安装目录下,自带了emwin的所有资料,适合NXP(恩智浦)单片机使用。

路径: \ARM\Segger\emWin

STemwin图形库移植与运用

3.2 下载STemwin图形界面库

STemwin适合在ST意法半导体的芯片上使用,Stemwin的资料包可直接在ST官网上进行下载。

ST意法半导体官网首页地址: https://www.st.com

下面是下载的步骤截图:

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用

STemwin图形库移植与运用

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

3.3 添加STemwin文件到工程

移植之前,需要先准备一个带LCD屏驱动、触摸屏驱动的完整Keil工程。

(1) 在工程目录下创建一个ST_EMWIN文件夹,用于存放STEMWIN相关的文件

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

(2) 拷贝的目录

STemwin图形库移植与运用

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

inc文件夹从下载的包里直接拷贝过来,不做任何修改。

Config文件夹里留下以下文件:

STemwin图形库移植与运用

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

Lib目录下留下以下文件: (不带OS的库文件)

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

(3) 在keil软件里创建一个新的分组,用于存放STemwin文件。

STemwin图形库移植与运用

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

(4) 添加头文件路径

STemwin图形库移植与运用

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

3.4 屏蔽没有用到的LCDConf.h头文件

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

3.5 修改GUIConf.h文件

GUIConf.h是STemwin的核心配置文件,主要配置操作系统、触摸屏、最大窗口的支持。

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用

3.6 修改GUIConf.c文件

GUIConf.c文件配置STemwin运行时需要的内存,如果使用了SRAM外扩内存,可以将数组定义在外部的SRAM空间。

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

3.7 修改GUIDRV_Template.c文件

GUIDRV_Template.c文件是LCD屏的驱动模板文件,需要根据自己的LCD屏驱动进行修改。

主要修改的函数是: 画点函数、读点函数。

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

NT35310_Fill(x0,y0,x1,y1,LCD_COLORINDEX);

3.8 修改LCDConf_FlexColor_Template.c文件

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

void LCD_X_Config(void)

{

GUI_DEVICE * pDevice;

pDevice = GUI_DEVICE_CreateAndLink(&GUIDRV_Template_API, GUICC_M565, 0, 0);

LCD_SetSizeEx (0, XSIZE_PHYS , YSIZE_PHYS);

LCD_SetVSizeEx(0, VXSIZE_PHYS, VYSIZE_PHYS);

//触摸屏校准参数设置

GUI_TOUCH_Calibrate(GUI_COORD_X,0,319,0,319);

GUI_TOUCH_Calibrate(GUI_COORD_Y,0,479,0,479);

//这两个函数在GUI.h文件的1292行定义

}

GUIDRV_Template_API 变量是在GUI.h的167行定义。

GUI_TOUCH_Calibrate函数是在GUI.h的

3.9 增加触摸屏底层接口代码

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

这4个函数原型在GUI.h文件的1404行声明。

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

在GUIDRV_Template.c文件下面增加这4个触摸屏的接口函数。

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

#include "touch_xpt2046.h"

void GUI_TOUCH_X_ActivateX(void) { //激活X

}

void GUI_TOUCH_X_ActivateY(void) { //激活Y

}

int GUI_TOUCH_X_MeasureX(void) { //测量X

TOUCH_ReadXY();

return touch.x;

}

int GUI_TOUCH_X_MeasureY(void) { //测量Y

TOUCH_ReadXY();

return touch.y;

}

3.10 添加GUI_X.c文件

触摸屏底层函数增加之后,再次编译。

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

这4个函数,在GUI_X.c文件里定义,需要将GUI_X.c文件添加到工程中。

GUI_X.c文件路径: \en.stemwin\STemWin_Library_V1.2.0\Libraries\STemWinLibrary532\OS\GUI_X.c

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

将GUI_X.c文件拷贝到工程目录下的ST_EMWIN\Config目录下。

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

3.11 定时器提供时间基准与轮询触摸屏

在STemwin的GUI_X.c文件里,带有GUI_X_Delay()延时函数,该延时函数是通过OS_TimeMS变量来计算延时的时间,如果需要使用该延时函数,就需要在自己工程的硬件定时器里1ms的频率自增OS_TimeMS变量,提供时间基准。

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

需要使用触摸屏,就需要定期调用GUI_TOUCH_Exec()函数,每秒100次的频率调用。

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

3.13 对移植结果进行基本测试

进行GUI框架初始化之前,需要先开启CRC时钟校验。

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

/*获取触摸屏状态\设置光标位置*/

void Touch_Process(void)

{

GUI_PID_STATE STATE; //该变量为GUI触屏的x y位置存储坐标

GUI_TOUCH_GetState(&STATE); //获取触摸屏状态

if(STATE.Pressed == 1) //按下

{

GUI_CURSOR_SetPosition(STATE.x,STATE.y);//设置光标位置

GUI_CURSOR_Show(); //设置显示光标

}

}

运行效果如下:

STemwin图形库移植与运用

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

3.13 测试SEGGER官方DEMO代码

SEGGER官方提供的DEMO代码,在ST意法半导体的官网上下载的包里没有提供,需要去SEGGER官方提供的emwin包里获取。在keil软件的安装目录下,有完整的emwin包,可以找到DEMO代码。

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

将GUIDemo文件夹全部拷贝到工程目录下,并将里面所有的.c文件加到工程中。

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用

poYBAGDYdXCAWkKMAAAAK8RNs4s030.pngSTemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

四、STemwin基本运用

4.1 GUIBuilder软件使用

GUIBulider是emwin官方出的软件,每个版本的emwin都有其对应版本的。

GUIBulider软件,控件非常齐全,熟练使用 GUIBulider在使用emWin设计GUI界面的时候会起到事半功倍的效果,使用这款软件就不需要我们自己用C语言编写界面了,可以在 GUIBulider 中设计好界面,然后导出C程序,十分的方便。

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用

GUIBulider生成的代码只是一个界面框架,程序执行的逻辑代码需要用户自己填充。

逻辑代码比如: 按下按键做什么,松开按键做什么等等,这些需要用户自己设计。

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

4.2 STemwin外置中文字库设置

(1) 制作GBK中文字库

STemwin图形库移植与运用

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

制作好的字库效果:

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

字库制作好之后,可以通过文件系统+SD将字库文件烧写到板载的W25Q64 FLASH里指定位置,方便后续调用。

(2) 制作ASCII 码字库

上面制作了GBK中文字库,这里还需要制作尺寸一样的ASCII码字库,方便显示与中文大小相同的英文字母和标点符号。

!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~

注意: 最前面有个空格。 一共95个数据。

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

存放到程序里的只能放 12号字体、16号字体、24号字体。 太大的字体Keil软件存放不了。

超出了24号的字体,可以像GBK中文字库一样存放到FLASH W25Q128里,使用的时候在去读取数据,这样就不会占用CPU本身的FLASH空间。

(3) 制作好的字库文件列表

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

(4) 添加ASCII码字库和GBK字库的支持

先将字库的必要文件添加到工程中: (如果用不到这么多字体可以自己添加要使用的大小)

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

#define GUI_FONTTYPE_PROP_USER \

GUIPROP_X_DispChar, \

(GUI_GETCHARDISTX*)GUIPROP_X_GetCharDistX, \

GUIMONO_GetFontInfo, \

GUIMONO_IsInFont, \

(GUI_GETCHARINFO *)0, \

(tGUI_ENC_APIList*)0

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

STemwin图形库移植与运用poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

QQ登录界面(中文显示)

STemwin图形库移植与运用

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

QQ登录框点击登录按钮之后登录成功的效果

STemwin图形库移植与运用

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

4.3 实体按键操作界面控件

GUI_SendKeyMsg()函数: 向一个指定的按键发送一个状态消息。

函数原型: void GUI_SendKeyMsg(int Key, int Pressed);

参数

含意

Key

可以是任何可扩展的 ASCII 字符(在 0x20 和 0xFF 之间)或者任何预定义的µC/GUI 信息码。

Pressed

键的状态(参 GUI_StoreKeyMsg())

示例:

key=KEY_Scanf();

switch(key)

{

case 1:

GUI_SendKeyMsg(GUI_KEY_BACKTAB, 1);//选择上一个聚焦控件

break;

case 2:

GUI_SendKeyMsg(GUI_KEY_ENTER,1); //回车

break;

case 3:

GUI_SendKeyMsg(GUI_KEY_TAB, 1); //选择下一个聚焦控件

break;

case 4:

GUI_SendKeyMsg(GUI_KEY_SPACE,1); //空格键

break;

default:

/*发送按钮松开消息*/

GUI_SendKeyMsg(GUI_KEY_BACKTAB,0); //选择上一个聚焦控件

GUI_SendKeyMsg(GUI_KEY_ENTER,0); //回车

GUI_SendKeyMsg(GUI_KEY_TAB, 0); //选择下一个聚焦控件

GUI_SendKeyMsg(GUI_KEY_SPACE,0); //空格键

break;

}

审核编辑:汤梓红


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 网卡
    +关注

    关注

    3

    文章

    303

    浏览量

    27335
  • 设备
    +关注

    关注

    2

    文章

    4472

    浏览量

    70529
  • 开发板
    +关注

    关注

    25

    文章

    4942

    浏览量

    97172
收藏 人收藏

    评论

    相关推荐

    如何在低成本ARM平台部署LVGL免费图形,基于全志T113-i

    本帖最后由 Tronlong创龙科技 于 2024-10-29 10:39 编辑 LVGL简介 LVGL(Littlev Graphics Library)是一个开源的图形,主要用于嵌入式
    发表于 10-29 09:55

    使用MSP430图形时的设计注意事项

    电子发烧友网站提供《使用MSP430图形时的设计注意事项.pdf》资料免费下载
    发表于 09-03 10:49 0次下载
    使用MSP430<b class='flag-5'>图形</b><b class='flag-5'>库</b>时的设计注意事项

    手把手带你移植HAL库函数

    在嵌入式系统开发中,硬件抽象层(HAL,HardwareAbstractionLayer)的使用可以极大地简化开发过程,提高代码的可移植性和维护性。本文将详细介绍如何快速搞懂HAL移植
    的头像 发表于 05-18 08:04 1664次阅读
    手把手带你<b class='flag-5'>移植</b>HAL库函数

    STemWin522移植R61509V问题求解

    ); 可是现在找遍整个stemwin源码文件就是找不到 LCDConf_CompactColor_16.h 这些文件; 这些文件在哪里? 谢谢!
    发表于 05-15 06:33

    【Vision Board创客营连载体验】RA8D1-Vision Board 移植LVGL8.3驱动和触摸屏驱动代码

    先说结论:移植LVGL的过程挺顺利的,触摸屏也能正常移植运行,但是目前无法通过触摸与LVGL界面联动,原因未知。 移植LVGL8.3.10图形
    发表于 05-13 19:53

    STemWin移植到STM32上后无法显示怎么解决?

    最近在玩STemWin,但是移植到STM32上后无法显示,单步调试的时候进入不了打点函数,我用的是IAR,驱动代码没有优化,仅仅是想先用打点函数来实现一下看看效果,后续再做优化,请教一下大神们,这个该怎么解决
    发表于 05-13 07:20

    STemwin究竟需要多大的内存?

    大家有没有对STemwin特别了解的,STemwin究竟需要多大的内存?就拿例程
    发表于 05-13 06:37

    使用STM32F429移植STemwin后,能正常显示字符串及2D图形,但是不能显示控件,为什么?

    使用STM32F429移植STemwin后,能正常显示字符串及2D图形,但是不能显示控件,使用WM_CreateWindow() 创建窗口也没有反应?有谁碰到过这个问题吗?
    发表于 05-10 06:24

    移植STEMWIN,用GUI Builder创建窗口和按键,按键里为啥只显示第1个字母呢?

    用SPI接口的240*240屏幕,移植STEMWIN后出现了一个问题。 用GUI Builder创建窗口和按键,按键里为啥只显示第1个字母呢
    发表于 04-18 08:17

    STemWin fatfs编码格式冲突怎么解决?

    最近手上有一个项目,需要用到STemWin,fatfs和sd卡,由于STemWin显示汉字用的XBF格式,xbf格式的汉字用的是UTF-8格式的;用fatfs创建以汉字为文件名的csv格式的文件
    发表于 04-12 08:12

    stm32cubeIDE移植的UCOSIII,定义float变量后进入硬件错误怎么解决?

    如题:stm32cubeIDE移植的UCOSIII,STemwin,用的stm32407芯片,定义float变量后进入硬件错误 之前是Keil5移植的时候也遇到了这个问题,然后是在启动文件中加了一段代码解决了。 这次因为启动文件
    发表于 04-12 06:09

    鸿蒙OS元服务开发:【WebGL网页图形开发概述】

    WebGL的全称为Web Graphic Library(网页图形),主要用于交互式渲染2D图形和3D图形。目前HarmonyOS中使用的WebGL是基于OpenGL裁剪的OpenG
    的头像 发表于 04-02 17:26 401次阅读
    鸿蒙OS元服务开发:【WebGL网页<b class='flag-5'>图形</b><b class='flag-5'>库</b>开发概述】

    STM32F429的工程标准移植到HAL后中断向量表异常的原因?

    STM32F429的工程标准移植到HAL后中断向量表异常
    发表于 03-20 06:02

    移植libmodbus到米尔-全志T113-i开发板

    测试开发板在工业领域的应用,modbus作为工业领域的一个重要协议,那好就移植libmodbus
    的头像 发表于 03-05 22:37 2252次阅读
    <b class='flag-5'>移植</b>libmodbus<b class='flag-5'>库</b>到米尔-全志T113-i开发板

    谁说单片机不能图形编程,介绍MCU的TOP 5图形GUI

    LittlevGL(LVGL) 是一款开源的嵌入式图形用户界面(GUI),专为嵌入式系统设计。LVGL以其轻量级、灵活性和强大的功能而备受开发者青睐,资源够的情况下可移植到所有MCU。
    的头像 发表于 12-07 10:42 7574次阅读
    谁说单片机不能<b class='flag-5'>图形</b>编程,介绍MCU的TOP 5<b class='flag-5'>图形</b>GUI<b class='flag-5'>库</b>!