精华内容
下载资源
问答
  • STemwin

    千次阅读 2019-09-28 15:14:14
    在我们的嵌入式中,图像界面开发是少不了的,linux中又QT,miniGUI,而在stm32中使用stemwin比较多,下面简单说一下这个gui,详细的操作内容可以参考安富莱的教程,很全面 1.stemwin 针对st公司MCU修改的emwin 2....

    在我们的嵌入式中,图像界面开发是少不了的,linux中又QT,miniGUI,而在stm32中使用stemwin比较多,下面简单说一下这个gui,详细的操作内容可以参考安富莱的教程,很全面

    1.stemwin 针对st公司MCU修改的emwin

    2.emwin 德国公司推出的图形界面库

    3.ucgui emwin的前身。

    4.stemwin不开源,在使用之前一定要使能stm32的CRC时钟

    5.其他的gui(touchgfx,minigui)

    6注意外部RAM和内部RAM的切换,注意内存分配大小。

    7.替换打点,读点底层函数,将emwin和底层联系起来。

     

    字体显示在小内存中,字少的话推荐使用

    C文件格式生成,但是使用的是unicode,但是可能涉及到转码,也不适用汉字多的情况。

    用字库的话,网上好多用的GB2312的方式,字库不占内存,感觉挺好

    还有其他几种字库方式,根据平台和需求进行选定。

     

    窗口切换思路

    ATM机模式 电脑模式 隐藏和显示模式,只是思路可以自己进行优化。

     

    简单的平台的编写思路来梳理

    任务—》准备工作(初始化,分配内存等)--》创建主窗口—》主循环-》gui_delay

    主循环中进行按键的检测,根据按键值,发送按键消息给回调函数

    然后调用GUI_Delay函数,会调用回调函数进行一些消息的处理。

    Gui_delay肯定会调用回调函数,但是按键消息GUI_SendKeyMsg会不会马上调回调函数不清楚。

     

    回调函数是创建窗口的时候创建的,可根据需求进行更改。

    回调函数中通常包括消息处理,重绘等。

     

     

     

     

     

     

    展开全文
  • STemWin5.24

    2018-07-13 14:07:16
    STemWin5.24版本,能够对STM系列芯片提供图形界面开发的软件。
  • stemwin例程

    2015-07-22 09:28:15
    stemwin的例程,可以结合这个例程来学习stemwinstemwin跟ucgui差不多。
  • STemwin源码包

    2018-07-04 11:20:38
    STemwin源码包STemwin源码包STemwin源码包STemwin源码包
  • STemwin文件

    2018-09-23 14:50:39
    STemwin的代码程序。
  • stemwin5.32

    2019-02-20 16:48:56
    stemwin5.32 STemWinLibrary532 GUIBuilder5.32.exe emVNC5.32.exe
  • STemWin5.32

    2018-11-07 11:14:15
    官方原版STemWin V5.32,STMF103用的,UI界面搭建。液晶屏界面搭建。HMI界面搭建
  • STemWin介绍

    万次阅读 2018-08-20 18:26:12
    本期教程开始带领大家了解一下STemWin的基本知识,其实确切的讲应该叫emWin基础知识,由于教程使用的开发板是ST的微控制器,所以就把名字统一命名成STemWin(为什么叫STemWin,在下面会有详细的讲解)。 1.1 ...

     

    本期教程开始带领大家了解一下STemWin的基本知识,其实确切的讲应该叫emWin基础知识,由于教程使用的开发板是ST的微控制器,所以就把名字统一命名成STemWin(为什么叫STemWin,在下面会有详细的讲解)。

    1.1 STemWin,emWin,μCGUI之间的关系

    1.2 SEGGER公司介绍

    1.3 STemWin介绍

    1.4 STM32F103和407跑STemWin性能测试

    1.5 STemWin论坛

    1.6 总结

    1.1  STemWin,emWin,μCGUI之间的关系

    这个放在最开头进行说明,因为很多的初学者比较的迷惑。

    对于一些刚学GUI的用户来说,知道μCGUI的比较多,而不知道所谓的emWin或者STemWin。这个并不奇怪,主要是因为大部分人只知道SEGGER公司的做的JLINK,而不知道他们还有RTOS和相关的中间件(中间件的意思就是基于RTOS的文件系统,GUI,USB主机和设备协议栈等)。

    1.1.1       μCGUI在国内比较火的原因

    μCGUI在国内前几年比较火的原因有三点:

    l  一个是μCOS-II在国内的推广,自从Micrum公司出的那本《嵌入式实时操作系统μCOS-II》发布之后,国内关于μCOS-II的资料就是普天盖起,再加上各种培训机构和开发板的推广,μCOS-II就在国内火起来了。μCOS-II火的同时,它配套的中间件,特别是μCGUI就跟着在国内火了起来。

    l  前几年国内有一个μCGUI的论坛,这个论坛在国内的μCGUI方面应该算是做得最好的,特别是那个站长在μCGUI方面的研究,这位站长对于μCGUI在国内的发展功不可没。

    l  还有一个原因就是μCGUI是带有源码的,很多时候可以通过修改部分的源码实现一些特殊的功能,现在网上流传的μCGUI的源码已经不知道经过多少人的手被修改过,最原始的的代码已经在官网上面找不到了。

    1.1.2       emWin和μCGUI的关系

    首先要明白,这两个GUI是一个东西。最初这个GUI就是SEGGER公司的,然后以什么的方式授权给μCGUI就不清楚了。现在SEGGER公司是这个GUI的主要推动者,已经将其授权给了多个芯片生产厂家。

    1.1.3       STemWin和emWin的关系

    STemWin是SEGGER公司授权给ST(意法半导体)的。使用ST芯片的用户可以免费使用STemWin。其实不光授权给了ST,还有NXP,Energy Micro等。凡是使用这些芯片厂商生产的处理器都可以免费的使用emWin。但是出于一定的保护措施,使用STemWin的库是不能用在其它芯片厂商的处理器上面的。因为在工程初始化STemWin前要使能CRC校验。如果没有使能,STemWin是启动不起来的。KEIL MDK的安装目录里面也带有emWin软件包,这个软件包也不是可以直接使用的,用户需要给KEIL MDK注册RL-ARM才可以使用。

    这里STemWin还针对ST的微控制器做了专门的优化,比如在使用ST的F4XX微控制器带FPU的芯片时,STemWin在需要浮点处理的地方专门做了优化。

    1.1.4       emWin5.xx版本和以前版本的不同

    emWin发展到5.0版本以后已经产生了很大的更新,特别是底层驱动方面。emWin5.xx版本向下完全的兼容低版本,当然包括μCGUI5.xx以下的版本,也就说如果用户有在μCGUI5.xx以下版本建立的工程,完全可以用在高版本上面(条件是没有修改过源码)。这里不建议初学者修改源代码,修改过后会破坏现有的机制。在以后的使用中会养成不好的习惯,只要某些功能无法实现就去修改源码,随着修改的增多会严重的破坏现有的机制。

    emWin5.xx以后的版本只有库,没有源码。对于一些想研究源码的,可以看早期的版本,了解一下通讯机制。不过对于大多数从应用角度出发的,完全没有必要学习源码,源码内容太多。对于一些无法实现的功能,在emWin5.xx上面得到了很大的改善,基本不需要修改源码。如果通过各种方法实在无法实现,完全可以使用emWin支持的用户控件设计方法做一个符合要求的。

    1.2  SEGGER公司介绍

    SEGGER公司应该算是一家老牌的调试工具以及RTOS及中间件的生产商。SEGGER公司成立于1997年,到现在的2014年,有差不多17年的历史了,这家公司主要有两个office,一个是在德国的Hilden,另个在美国的 Massachusetts。官网还有一个他们工作地方的照片,看着很不错,我这里也把这个照片贴上。

     【STemWin教程入门篇】第1章 <wbr>STemWin介绍

     

    SEGGER公司的产品主要有三个方向,分别如下:

    1.2.1       RTOS及其中间件

    SEGGER公司的RTOS是embOS,在国内知道的人可能比较少。SEGGER做的embOS和中间件都是以库的形式供用户下载的,除非购买了使用权。产品主要如下:

    l  embOS  (Real Time Operating System)

    l  embOS/IP  (TCP/IP Stack)

    l  emWin (Graphic Software & GUI)  

    l  emFile (File System)

    l  emUSB Device (USB Device Stack)

    l  emUSB Host (USB Host Stack)

    l  emModbus(Modbus Stack)

    emModbus是今年(2014年)刚刚发布的。

    1.2.2       J-Link 调试工具

    J-Link应该大家都不陌生,它是有SEGGER公司设计的。具体的J-Link产品有好几款,具体如下:

    l  J - Link PRO

    l  J - Link ULTRA+

    l  J - Link PLUS

    l  J - Link

    l  J - Trace Cortex-M3

    l  J - Trace ARM

    1.2.3       Production Programmers

    这个工具在国内用的比较少,主要如下几款产品:

    l  Flasher  ARM

    l  Flasher  RX

    l  Flasher  STM8

    l  Flasher  ST7

    l  Flasher  5

    l  Flasher  5 PRO

     

    上面说的这三项应该算是SEGGER公司的主营产品,更详细的可以上面他们的官网www.segger.com

    进行了解。

    1.3  STemWin介绍

    emWin5.xx版本设计出来的界面还是非常漂亮的,先贴几个相关的设计图片,让大家有一些感官的认识。

    1.3.1       STemWin设计界面

    l  第一幅是官方设计的图片

    【STemWin教程入门篇】第1章 <wbr>STemWin介绍 

    整体来说,这些图片还是非常漂亮的,不过这些界面不是用专门的控件显示出来的,使用的2D绘图配合内存设备管理实现的。

    l  下面的是在STM32-V5开发板上面实现的界面

    总的来说这些界面还是非常漂亮的,关于STM32-V5开发板更详细的资料可以看如下两个地址:

    http://bbs.armfly.com/read.php?tid=1285

    http://bbs.armfly.com/read.php?tid=1139

     

    【STemWin教程入门篇】第1章 <wbr>STemWin介绍

     

    【STemWin教程入门篇】第1章 <wbr>STemWin介绍

     

    【STemWin教程入门篇】第1章 <wbr>STemWin介绍

    1.3.2       目标系统(硬件)

    目标系统必须具有:

    l  一个CPU(8/16/32/64位)

    l  一个具有最小内存的RAM和ROM

    l  一个完整图形显示器 (任何类型和任何分辨率)

        存储器要求取决于使用的是软件的哪部分以及目标编译器的效率。因此不可能指定精确的值,但是以下值适用于典型的系统。

    小系统 (无窗口管理器)

    l  RAM:100字节

    l  堆栈:600字节

    l  ROM:10-25 kb(取决于所使用的功能)

    大系统 (包含窗口管理器和小工具)

    l  RAM:2-6 kb(取决于所需的窗口数)

    l  堆栈:1200-1800字节 (取决于所使用的功能)

    l  ROM:30-60 kb(取决于所使用的功能)

        请注意,如果应用程序使用了很多字体,则对ROM的要求会提高。上述所有值都是粗略估算值,不保证能正常使用。

    1.3.3       特性

    emWin设计用于提供高效且独立于处理器和显示控制器的图形用户界面,用于任何使用图形显示进行操作的应用。它与单任务和多任务环境、专用操作系统或具有任何商业RTOS兼容,emWin的发货形式为C语言源代码。它可适用于任何尺寸的、具有任何显示控制器和CPU的物理和虚拟显示器。其特性包括:

    一般特性

    l  支持使用任何控制器的任何 (单色、灰度或彩色)显示器 (如果有正确的驱动)。

    l  在较小显示器上无显示控制器也可运行。

    l  使用配置宏可支持任何接口。

    l  显示尺寸可配置。

    l  可在显示器上的任何点 (而不仅仅是在偶数位字节地址)上写入字符和位图。

    l  已针对尺寸和速度优化了各种例程。

    l  利用编译时间切换可进行不同优化。

    l  对于较慢的显示控制器,可在存储器中缓存显示,将存取操作减到最少,从而获得非常高的速度。

    l  结构清晰。

    l  支持虚拟显示;虚拟显示可大于实际显示。

    图形库

    l  支持不同色深的位图。

    l  可使用位图转换器。

    l  绝对无浮点使用。

    l  快速线/点绘制 (不使用浮点)。

    l  圆形/多边形绘制非常快速。

    l  不同的绘图模式。

    字体

    l  基本软件配备多种不同的字体:4*6、6*8、6*9、8*8、8*9、8*16、8*17、8*18、24*32以及像素高度为8、10、13、16的比例字体。

    l  可以定义新的字体并只需简单链接。

    l  只有应用程序使用的字体才实际链接到生成的可执行程序,从而使ROM使用最小。

    l  字体可分别在X和Y方向完全缩放。

    l  可使用字体转换器;主机系统 (即Microsoft Windows)上有的任何字体都可以转换。

    字符串/值输出例程

    l  例程可以十进制、二进制、十六进制、任何字体形式显示值。

    l  例程可以十进制、二进制、十六进制、任何字体形式编辑值。

    窗口管理器(WM)

    l  完整的窗口管理操作,包括裁剪。窗口的客户区以外的区域不可能被覆盖。

    l  窗口可以移动和调整大小。

    l  支持回调例程 (可选择是否使用)。

    l  WM使用最小的RAM(每个窗口大约50字节)。

    PC界面外观的可选小工具

    l  提供各种小工具 (窗口对象,也称为控件)。它们通常自动操作并且简单易用。

    支持触摸屏和鼠标

    l  对于按钮小工具等窗口对象,emWin提供触摸屏和鼠标支持。

    PC工具

    l  模拟脉冲查看器。

    l  位图转换器。

    l  字体转换器。

    1.3.4       RTOS对STemWin多任务的支持

    基本常见的RTOS都支持STemWin的多任务,移植起来也比较的简单,下面这些是官方提供好的移植。

    【STemWin教程入门篇】第1章 <wbr>STemWin介绍 

    1.3.5       STemWin基本的内存需要

     

    Example

    Hello world

    Window application

    ROM

    GUI core

    5.9 kB

    43 kB

     

    Fonts

    1.8 kB

    12.5 kB

     

    Application

    38 B

    2.7 kB

     

    Startup code

    300 B

    300 B

     

    Library

    0.1 kB

    1.5 kB

     

    Total

    8.1 kB

    60 kB

    ROM

    GUI core

    62 B

    5.2 kB

     

    Application

    -

    40 B

     

    Stack

    272 B

    1.4 kB

     

    Total

    334 B

    6.6 kB

    这个只是官方提供的基本数据,仅供大家参考。具体还要看实际应用。

    1.3.6       STemWin当前支持的控件

    由于emWin在不断的更新当中,这里是当前支持的大部分控件,但不是全部。

    【STemWin教程入门篇】第1章 <wbr>STemWin介绍

    【STemWin教程入门篇】第1章 <wbr>STemWin介绍

    【STemWin教程入门篇】第1章 <wbr>STemWin介绍

    【STemWin教程入门篇】第1章 <wbr>STemWin介绍

    1.4  STM32F103和407跑STemWin性能测试

    以前论坛上以及群里面的一些客户对STM32F103和407跑STemWin持怀疑态度,觉得跑不起来,或者说实时性不行,刷屏比较慢,这里我专门的做了一些测试。

    1.4.1       刷色块

    l  测试F4驱动RA8875的7寸800*480分辨率的屏。

    优化底层的情况下,刷整个屏

    【STemWin教程入门篇】第1章 <wbr>STemWin介绍 

    没有优化底层的情况下,刷整个屏

     

    【STemWin教程入门篇】第1章 <wbr>STemWin介绍 

     通过上面的测试,有没有看到差距,底层没有经过优化的要620ms,而优化以后的刷整个屏只要25ms,

     620 / 25 = 24.8倍,能差出这么多来,可见经过优化和没有优化的差距之大。由于RA8875有刷色块的指令,这里再用3.0寸的测试一下(3.0寸的没有专门的刷色块指令)。

    l  测试F4驱动SPFD5420的3寸400*240分辨率的屏。

    优化底层的情况下,刷整个屏

    【STemWin教程入门篇】第1章 <wbr>STemWin介绍 

    没有优化底层的情况下,刷这个屏

    【STemWin教程入门篇】第1章 <wbr>STemWin介绍 

     有没有看到差距,这里差出10倍来。

    1.4.2       刷控件

    l  测试F4驱动RA8875的7寸800*480分辨率的屏。

     这里刷一个如下图所示样子的控件,大小800*480

      【STemWin教程入门篇】第1章 <wbr>STemWin介绍

      优化底层的情况下,刷整个控件

    【STemWin教程入门篇】第1章 <wbr>STemWin介绍 

     没有优化底层的情况下,刷整个控件

    【STemWin教程入门篇】第1章 <wbr>STemWin介绍

     

       有没有看到差距。

    l  测试F4驱动SPFD5420的3寸400*240分辨率的屏。

    现在用3.0的屏刷控件优化底层的情况下,刷整个控件

    【STemWin教程入门篇】第1章 <wbr>STemWin介绍 

     没有优化底层的情况下,刷整个控件

    【STemWin教程入门篇】第1章 <wbr>STemWin介绍 

    通过上面的比较,大家有没有看到差距,是否还对用F1,F4跑emWin界面存在疑虑?对于刷图片,本身STM32F1,STM32F4刷图片的效果就比较差,这里就不做测试了。通过这个测试也说明了很重要的一点,那就是优化底层驱动的重要性。

     

    1.5  STemWin论坛

    自从国内的uCGUI论坛关闭以后,这方面比较好的论坛就很少了,论坛对于STemWin的发展也很重要。针对STemWin,我们自己建立的论坛:http://bbs.armfly.com/thread.php?fid=12。有兴趣的可以在论坛跟大家探讨相关的应用。

    SEGGER官方也有自己的emWin论坛,地址是:http://forum.segger.com/

    1.6  总结

    关于STemWin的介绍就跟大家说这么多,更详细的可以上我们的论坛进一步讨论。还有一点要说明的就是SEGGER公司的所有软件都是收费的,收费标准看这里:http://www.segger.com/pricing.html

     

    转自:http://www.360doc.com/showweb/0/0/779762529.aspx

     

    展开全文
  • STemwin移植

    2021-05-09 21:34:00
    STemwin移植 1.STemwim简介   emWin 是由德国 SEGGER 公司开发,可为图形 LCD 设计提供高级支持,极大简化了 LCD 设计。 为恩智浦ARM 微控制器用户免费提供的 emWin 图形库。   在国内做嵌入式系统的大部分都...

    STemwin移植

    1.STemwim简介

      emWin 是由德国 SEGGER 公司开发,可为图形 LCD 设计提供高级支持,极大简化了 LCD 设计。 为恩智浦ARM 微控制器用户免费提供的 emWin 图形库。
      在国内做嵌入式系统的大部分都使用 emwin, 其简单来说就是一套图形库。
      STemWin是SEGGER公司授权给ST(意法半导体)的。使用ST芯片的用户可以免费使用STemWin。其实不光授权给了ST,还有NXP,Energy Micro等。凡是使用这些芯片厂商生产的处理器都可以免费的使用emWin。但是出于一定的保护措施,使用STemWin的库是不能用在其它芯片厂商的处理器上面的。因为在工程初始化STemWin前要使能CRC校验。如果没有使能,STemWin是启动不起来的。KEIL MDK的安装目录里面也带有emWin软件包,这个软件包也不是可以直接使用的,用户需要给KEIL MDK注册RL-ARM才可以使用。
      STemWin还针对ST的微控制器做了专门的优化,比如在使用ST的F4XX微控制器带FPU的芯片时,STemWin在需要浮点处理的地方专门做了优化。

    2 STemwin下载

    STemwin下载
      或者直接百度搜索ST官网,进入官网后直接搜索STM32Cubef1,新版本的emwin保存在STM32Cubef1中,直接搜索STemwin之前的老版本,下面移植我们就以新版本为主。
    在这里插入图片描述
      搜索到后获取软件,登录账号,开始下载:
    在这里插入图片描述

    3 移植STemwin

       3.1 将下载的文件解压,找到STemwin源文件
    在这里插入图片描述
       打开STemwin文件夹,我们移植需要的文件有Config配置文件、inc、lib、OS
    在这里插入图片描述
      3.2 要完成STemwin移植,需要准备一份带有LCD屏驱动、有触摸屏的完成触摸屏驱动、外扩sram驱动工程。在当前工程路径下新建文件夹STEMWIN保存要移植的源文件。
      将Config、inc、lib、OS拷贝到STEMWIN目下。
    在这里插入图片描述
    在这里插入图片描述
      3.3删除多余的不需要的文件。修改config和lib即可,其他保持不动。
      config中:
    在这里插入图片描述
    在这里插入图片描述
      Lib中保留文件:
    在这里插入图片描述
      在Cube库中,库文件均为.a格式,相比之前版本,文件名不再以编译器类型命名,而是使用wc16和wc32区分不同编译器,wc16用于EWARM(IAR for ARM)7和KEIL5,wc32用于EWARM(IAR for ARM)8和SW4STM32(gcc)。
      CM3表示适用于Cortex-M3内核。
      OS 表示带操作系统移植
      wc16 表示用于EWARM(IAR for ARM)7和KEIL5
      ARGB表示此核心库的逻辑颜色从高位到低位排列顺序为ARGB

    3.4 打开工程,创建分组STemwin,添加.c文件到分组中。
    在这里插入图片描述
      config中所有.c文件,lib中的.a文件,OS中的GUI_X.c文件;
    在这里插入图片描述
      添加头文件路径:
    在这里插入图片描述
      3.5设置.a库文件格式:
    在这里插入图片描述
    在这里插入图片描述
      3.6 修改完成后线编译工程
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    4 修改配置相关配置文件

      4.1 修改GUIConf.c文件
      该文件下就只有一个函数,完成STemwin所需要的空间的分配。
    在这里插入图片描述
      4.2修改GUIConfig.h文件
      该文件主要完成窗口数量设置、操作系统支持、触摸屏支持等。
    在这里插入图片描述
    在这里插入图片描述
      4.3 修改GUIDRV_Template.c文件
      该文件实现LCD屏驱动接口模板。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
      4.4 修改LCDconf_FlexColor_Template.c文件
      该文件用来设置LCD屏分辨率以及底层读写数据模板。删除其它函数,只保留LCD_X_Config函数和LCD_X_DisplayDriver函数。
    在这里插入图片描述
      修改LCD_X_Config函数,该函数主要功能创建一个显示驱动器件,选择颜色转换程序,设置显示尺寸,配置触摸屏参数。
    在这里插入图片描述

    // 创建显示驱动器件
    GUI_DEVICE_CreateAndLink(&GUIDRV_Template_API, GUICC_565, 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_DEVICE_CreateAndLink函数功能创建显示驱动器件,STemwin源码是不开源的,该函数的声明处在GUI.h的293行。
      第一个参数是结构体体指针,用来定义显示驱动相关信息,该结构体的赋值操作在GUIDRV_Template.c的第738行。
      第二个参数是指定所使用的颜色值,GUICC_565即表示RGB565。
      LCD_SetSizeEx函数功能设置显示区域物理尺寸。可参考emWIN5.12中文手册第890页。
      LCD_SetVSizeEx函数功能设置虚拟显示区的尺寸,可参考emWIN5.12中文手册第890页。
      GUI_TOUCH_Calibrate函数功能实现触摸屏校准,第一个参数设置要校准的坐标,第2、3个参数表示实际坐标值,第4、5个参数表示模拟值,EMwin中带有触摸屏校准算法。我们自己实现的触摸屏校准则可直接将第4、5个参数直接填实际坐标值。具体可参考emWIN5.12中文手册第769页。
      4.5 上报触摸屏坐标值。
      若要实现触摸屏功能,则需要进一步实现坐标值上报。具体可参考emWIN5.12中文手册第765页。
    在这里插入图片描述
      在GUIDRV_Template.c添加下面函数。
    在这里插入图片描述

    #include "xpt2046.h"
    //激活X轴测量参考emWIN5.12中文手册第767页。
    void GUI_TOUCH_X_ActivateX(void){
    }
    //激活Y轴测量
    void GUI_TOUCH_X_ActivateY(void){
    }
    /*获取X轴的坐标值*/
    int GUI_TOUCH_X_MeasureX(void){
        XPT2046_Getxy();
        return touch_info.x;
    }
    /*获取Y轴坐标值*/
    int GUI_TOUCH_X_MeasureY(void){
        XPT2046_Getxy();
        return touch_info.y;
    }
    

      4.6 GUI_X.c文件
      该文件功能是为EMwin提供毫秒时间单位和毫秒延时函数。
    在这里插入图片描述
      4.7 配置定时器7
      配置定时器7,为EMwin提供毫秒时间单位。定期调用GUI_TOUCH_Exec(),从而实现对触摸屏的论询。必须确保该函数的调用频率为每秒 100 次左右。

    TIMx_Init(TIM7,72,1000);//1ms,用来给STemwint延时函数使用
    TIM7->CR1|=1<<0;//开启定时器	
    /**************TIM7中断服务函数***************/
    #include "GUI.h"
    extern volatile GUI_TIMER_TIME OS_TimeMS;
    void TIM7_IRQHandler(void)
    {
    	static u8 cnt=0;
    	if(TIM7->SR&1<<0)
    	{
    		cnt++;
    		if(cnt>=10)
    		{
    			GUI_TOUCH_Exec();//检测触摸屏是否按下函数
    			cnt=0;
    		}
    		OS_TimeMS++;
    	}
    	TIM7->SR=0;//清除标志
    }
    

    5 初始化STemwin

      STemWin是SEGGER公司授权给ST(意法半导体)的。使用STemWin需要对芯片校验判断是否为ST公司芯片。

    #include "gui.h"
    //int a __attribute__((at(0x68000000)));//指定变量a地址为0x68000000
    int main()
    {
    	u16 time=0;
    	GUI_PID_STATE pState;
    	Beep_Init();
    	Led_Init();
    	Key_Init();
    	Usartx_Init(USART1,115200,72);
    	TIMx_Init(TIM2,72,20*1000);
    	IIC_Init();
    	W25Q64_Init();
        Sram_Init();
    	printf("初始化完成\r\n");
    	NT35310_Init();
    	XPT2046_Init();
    	XPT2046_Calibration2();
    	TIMx_Init(TIM7,72,1000);//1ms,用来给STemwint延时函数使用
    	TIM7->CR1|=1<<0;//开启定时器	
    	RCC->AHBENR|=1<<6;//开启CRC时钟
    	GUI_Init();//STemwin初始化
        LCD_Clear(DARKBLUE);//设置背景为白色
        printf("STEMWIN初始化完成\r\n");
    	while(1)
    	{
    		GUI_TOUCH_GetState(&pState);//获取触摸屏状态
    		if(pState.Pressed)
    		{
    			GUI_CURSOR_SetPosition(pState.x,pState.y);//设置坐标位置
    			GUI_CURSOR_Show();//显示光标
    		}
    		Delay_Ms(1);
    		time++;
    		if(time>=500)
    		{
    			LED1=!LED1;
    			time=0;
    		}
    	}
    }
    

      光标设置参考emWIN5.12中文手册第784页。

    展开全文
  • STemWin资源包

    2018-03-06 15:47:23
    STemWin最新资源包!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  • STemWin5.32.rar

    2019-08-29 20:55:06
    2019最新STemwin,包含源码,库文件,例程,开发手册,说明文档
  • STemWin544.pdf

    2021-04-09 16:22:07
    STemWin5.44手册,学习GUI开发的可以看看
  • STemWin_5.32

    2018-07-22 16:23:28
    STemWin最新的的5.32版本。未做任何修改,移植需要根据环境做相关删减。
  • STemWin库入门指南

    2018-07-28 15:08:00
    AN4323:STemWin库入门指南,中文应用笔记。STemWin 库是一个专业级的图形库,在任意STM32 产品、任意 LCD/TFT 显示屏以及任意 LCD/TFT 控制器随时构建图形用户界面(GUI)。
  • StemWin演示R61408

    2019-06-05 15:50:03
    基于STM32F407ZGT主控,HAL库,在R61408控制芯片下实现的StemWin。仅仅是一个“Hello World”工程。
  • STemWin无操作系统移植

    2018-06-17 22:59:32
    STemWin学习笔记——STemWin无操作系统移植”博客所用代码
  • STemWin5.44.zip

    2019-11-25 10:41:22
    Thanks to its partner SEGGER, ST is providing the STemWin Library, based on SEGGER emWin one. STemWin is a professional graphical stack library, enabling Graphical User Interfaces (GUI) building up ...
  • STemWin GUI Color

    2020-09-02 19:22:39
    STemWin GUI Color

    STemWin GUI Color

    在这里插入图片描述

    展开全文
  • stemwin表盘指针平滑处理,模拟器可以仿真,STM32F1测试效果不好,可能刷新问题,F4没有测试,大家可以测试下,大家有更好的方案可以交流。
  • STemWin主要控件

    2020-05-25 10:51:34
    STemWin主要控件
  • STM32F1XX-STemWin

    2018-12-22 14:18:50
    STM32-STemWin的开发指南,帮助大家了解和学习STemWin的开发环境
  • STemWIN入门手册

    2015-04-09 10:38:44
    STemWIN入门手册,使用于新手入门!
  • STM32F746G-DISCO_STemWin_FreeRTOS:FreeRTOS,STemWin,STM32F746G-DISCOVERY
  • F407 TFT-LCD STemWin.rar

    2020-09-17 10:06:17
    STemWin、emWin 与ucGUI其实都师出同门,都是是Segger 公司之手。 STemWin 是Segger 公司为ST公司定制的图形软件库;uC/GUI 是Segger 公司为Micrium 公司定制的图形软件库; 与其说是花钱定制的版本,其实都是正统...
  • STemWin GUI 基本显示文字、数值以及2D绘图等函数说明
  • 原文链接:... 环境:keil5.20 STM32F407ZGT6 LCD(320*240) STemwin:STemWin_Library_V1.1.2 准备: STemWIn在裸机上的移植,需要准备STemwin的库(STemwin:STemWin_Library_V1.1.2.rar...
  • STemwin_TOUCH.rar

    2019-10-16 17:49:40
    正点原子MINI板 STemwin移植带触摸按键不带uosiii BUTTON控件 STemWin 按钮控 件通常用作触摸屏的主要用户界面元素, 如果按钮有输入焦点,它还会对键 GUI_KEY_SPACE 和 GUI_KEY_ENTER 作出反应 BUTTON 控件基础例程...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,108
精华内容 443
关键字:

STEmwin