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;

}

审核编辑:汤梓红


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

    关注

    2

    文章

    285

    浏览量

    27090
  • 设备
    +关注

    关注

    2

    文章

    4172

    浏览量

    69279
  • 开发板
    +关注

    关注

    25

    文章

    4434

    浏览量

    94032
收藏 人收藏

    评论

    相关推荐

    移植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

    UGUI的移植到STM8L151C8上去跑,移植过程出现invalid narrow pointer cast的错误,为什么?

    最近下载了UGUI的,想移植到STM8L151C8上去跑。编译器使用官方的STVD,移植过程出现invalid narrow pointer cast 的错误,官方手册提示此错误意思是a cast
    发表于 04-10 07:49

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

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

    STemWin怎么使用大号字体?

    STemWin 怎么使用大号字体, 看代码 GUI_SetDefaultFont 是 6x8 的字体,可是修改字体,那一堆宏,只有 6x8 有用,其他的宏都不管用。 怎么样使用大一号的字体,这个字体太小太小了,正点原子 4.3 寸屏,6x8字体几乎都看不见了。
    发表于 11-01 07:19

    请问nRF52832能移植ARM的DSP吗?

    nRF52832能移植ARM的DSP吗?
    发表于 10-16 07:51

    STemWin无操作系统移植例程

    原子提供了很多的例程,真的非常棒emwin测试也是找的例程,阿波罗stm32f767 资料盘(a盘)4,程序源码3,扩展例程3,emwin扩展例程emwin实验1 stemwin无操作系统移植,新建了application文件夹,添加了自己的显示代码以上
    发表于 10-09 08:57

    STM32F1_HAL使用手册

    入了解如何使用MCU。这种结构提高了代码的可重用性,并保证了在其他平台上的易移植性设备。 HAL驱动程序包括一整套现成的API,这些API简化了用户应用程序实施例如,通信外围设备包含用于初始化和配置的API 外围设备,根据轮询管理数据传输,处理中断或DMA,并管理通信错
    发表于 09-28 06:21

    STM32F1 EMWIN开发手册

    界面设计,在 STM32上最火的GUI莫过于UCGUI,而UCGUI的高级版本就是emWin,而STemWin是SEGGER授权给ST的emWin 版本,ST的芯片可以免费使用STemWin,而且
    发表于 09-27 06:50

    EMWIN实验之STemWin无操作系统移植-T

    电子发烧友网站提供《EMWIN实验之STemWin无操作系统移植-T.rar》资料免费下载
    发表于 09-15 16:16 0次下载
    EMWIN实验之<b class='flag-5'>STemWin</b>无操作系统<b class='flag-5'>移植</b>-T

    移植arduino上的一个红外遥控到k210上,工具链是否有c++的基本

    请问工具链现在支持用c++开发吗?我想移植arduino上的一个红外遥控到k210上, 现在在考虑移植的可行性
    发表于 09-15 07:06

    STemwin介绍

    •提供一个高级图形,该: •易于使用 •可灵活定制 •提供从简单2D元素到复杂元素的图形对象 窗口驱动的对象 •在不了解详细信息的情况下,从Chrome ART硬件功能中获益 •嵌
    发表于 09-12 07:15

    使用STemWin在STM32上开发一个简单的应用

    STemWin 是 ST MCU 为工程师提供的免费的 GUI 开发,而且这个是集成并发布在 STM32CubeFW对应的软件包
    发表于 09-11 08:19

    使用STM32F030移植STemwin5.28驱动SSD1315时有部分库函数无法使用的问题

    使用STM32F030移植STemwin5.28驱动SSD1315时有部分库函数无法使用 比如clear函数和CreateFramewin函数无法使用,但是显示字符串函数和检测运行内存都函数可以使用
    发表于 08-07 11:39