野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 17246|回复: 8

[emWin] 【STemWin5.22】实战热身篇,在霸道开发板显示GUIBuilder生成的文件

[复制链接]
发表于 2019-7-19 16:46:15 | 显示全部楼层 |阅读模式
本帖最后由 廷润 于 2019-7-23 08:56 编辑

1.设计 emWin,首先要会用 GUIBuilder.exe。熟悉掌握这个工具,在emWin的设计道路上将会事半功倍,简单粗暴。为了方便同行者上车,附件有软件。2.下载后,打开运行。怎么使用网上很多教程,这里不罗嗦。简单粗暴新建了一个页面,如图所示。
3.将save得到的代码,拷贝到  Segger_GUI_V542\Sample 路径下。STemWin 5.42网上也有很多链接可以下载。新增自己的用户代码,如附件。
4.将代码添加到仿真器,加上MainTask

void MainTask(void)
{
        /* 窗口自动使用存储设备 */
        WM_SetCreateFlags(WM_CF_MEMDEV);
        /* 初始化 */
        GUI_Init();
        /* 创建对话框,使用 GUIBulder5.28 生成的对话框创建函数 */
        CreateFramewin();
        while (1)
        {
                GUI_Delay(10);
        }
}


使用GUIBuilder 画个简单的草稿图.png
仿真效果.png

FramewinDLG2.rar

1.52 KB, 下载次数: 92

GUIBuilder.rar

413.29 KB, 下载次数: 120

回复

使用道具 举报

 楼主| 发表于 2019-7-19 16:49:05 | 显示全部楼层
本帖最后由 廷润 于 2019-7-19 17:22 编辑

先在霸道例程上,显示自己的页面文件。过于简单粗暴,请见谅。

在霸道开发板现有例程粗暴显示.png

02.STM32_emWinV5.22_液晶移植.rar

2.03 MB, 下载次数: 135

回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-19 16:50:00 | 显示全部楼层
本帖最后由 廷润 于 2019-7-23 08:53 编辑

继续理解 生态的概念。硬件方面 霸道是 F103,主频72MHz,
在ST官网下载了STemWin_Library_V1.2.0,里面配套的是 STemWin532_CM3_Keil.lib。暂时没找到5.42的配套库。

中途用霸道的例程 5.22是明显的经典边框,用5.28的库和5.32的库都可以正常编译,但是显示会有异常。
回复 支持 反对

使用道具 举报

发表于 2019-7-19 21:42:05 | 显示全部楼层
666666666666
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-22 08:50:22 | 显示全部楼层

你玩哪一款开发板?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-23 09:00:35 | 显示全部楼层
廷润 发表于 2019-7-19 16:50
继续理解 生态的概念。硬件方面 霸道是 F103,主频72MHz,
在ST官网下载了STemWin_Library_V1.2.0,里面配 ...

STemWin,有很多说不清楚的情况和现象。有兴趣的可以多折腾,好事多磨。如果CPU和配置一般,emWin版本比较老,还是比较适合定位在 使用的工具、显示。如果要炫酷,要配套使用高级一点的硬件和高版本的库。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-23 15:42:53 | 显示全部楼层
本帖最后由 廷润 于 2019-7-23 15:44 编辑

玩不溜论坛的滑动验证,直接跟帖发新内容。
继续简单粗暴的玩开发板,旨在提供学会移植emWin的同学,多一种方式玩,如果想玩的更细的,留言共同完善。

1.本历程模板为“19.STM32_UCOSIII_emWin_DEMO_KEY” 原始模板请找开发板的emWin例程。

2.添加自己生成的文件到keil工程,我的文件如附件“FramewinDLG_KEY.rar”  

3.打开 KEYapp.c 文件,找到 void FUN_ICON100Clicked(void)。参照下面几行修改 按键窗口的入口。
extern         void _MainTask(void);
  void FUN_ICON100Clicked(void)
  {
          //GUI_CreateDialogBox(_aDialogCreateKEY, GUI_COUNTOF(_aDialogCreateKEY), _cbDialogKEY, WM_HBKWIN, 0, 0);
        _MainTask();

        OS_INFO("KEYapp create\n");
4.原则上 进行到这一步就可以看到 画的界面内容。 按键功能和细节继续往下调。
5.在自己生成的界面文件,找到 _cbDialog 函数,在对应的按键状态 同步加如 开发板源程序的功能例如:
  case WM_NOTIFY_PARENT:
    Id    = WM_GetId(pMsg->hWinSrc);
    NCode = pMsg->Data.v;
    switch(Id) {
    case ID_BUTTON_0: // Notifications sent by 'Button'
      switch(NCode) {
      case WM_NOTIFICATION_CLICKED:
        // USER START (Optionally insert code for reacting on notification message)
                LED2_ON;
               
                hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_0);
                TEXT_SetText(hItem, "KEY  DOWN");

        // USER END
        break;
      case WM_NOTIFICATION_RELEASED:
        // USER START (Optionally insert code for reacting on notification message)
                LED2_OFF;
               
                hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_0);
                TEXT_SetText(hItem, "KEY  UP");

        // USER END
        break;
      // USER START (Optionally insert additional code for further notification handling)
      // USER END
      }
      break;
6.如果出现其他的便以问题,请同步加入 头文件、定义、全局变量的初始化值
添加自己画的文件.png
实战画key界面的运行参考.jpg

FramewinDLG_KEY.rar

1.89 KB, 下载次数: 44

回复 支持 反对

使用道具 举报

发表于 2020-2-20 10:15:50 | 显示全部楼层
廷润 发表于 2019-7-22 08:50
你玩哪一款开发板?

都玩,..............
回复 支持 反对

使用道具 举报

发表于 2020-11-5 17:01:46 | 显示全部楼层
准备在指南者上先上手熟悉一下,就等火哥的MP1了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-25 04:06 , Processed in 0.044514 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表