查看: 3643|回复: 0

9..STM32F469I---+emWin实战应用①LED控制界面

[复制链接]
  • TA的每日心情
    难过
    2021-2-27 22:16
  • 签到天数: 1568 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2018-1-12 12:44:36 | 显示全部楼层 |阅读模式
    分享到:
    【STM32F469I试用】+emWin实战应用①LED控制界面【转】

    1.png

    2.png

    3.png

    那么在这个里面所设计的STemWin界面就是这样的了:
    ①、首先先设定好默认的字库,字库的底层驱动请看我之前的一片帖子,里面有相关的介绍和移植,在这个帖子里我也会给出我的工程源码和HEX文件供大家参考。

    4.png

    ②、使用GUI_CreateDialogBox创建所需要的界面各个元素,函数的调用为:

    5.png

    其中_aDialogLEDCreate的常量定义为:

    6.png

    固定的常量定义有了各个控件的相关说明。
    ③、在创建对话框的时候包含有对话框的回调函数,回调函数才是本次设计的重点,回调函数完成了对话框的初始化:


    7.png

    8.png

    9.png

    10.png

    11.png

    12.png

    重点需要看的是,对话框的初始化函数里面所声明的内容:

    13.png

    首先是对Framewin添加关闭按钮,并且设置关闭按钮在右侧,然后一次设置CHECKBOX的文本内容,最后设置滑块的范围和初始值的大小。
    ④、对话框对外界触发事件的响应过程:
    当用户释放了CHECKBOX方框和滑块以后,要进行对应的响应工作。
    其中第一个是对CHECKBOX的响应:当每次检测到用户对控件进行操作中,对CHECKBOX释放过程后,根据对应的不同控件完成LED的翻转操作,也就是实现了对LED灯的控制作用,这是最简单的STemWin应用。

    14.png

    另外一个响应是对滑块释放的操作,在对滑块释放后,首先获取到滑块释放后的所对应的数值大小,然后禁用上面的三个CHECKBOX和滑块自身,然后根据GUI_Delay();操作延时,进行流水灯的闪烁,其中延时的大小是由滑块的数值所决定的。在流水灯循环10次以后,使能三个CHECKBOX控件和滑块控件,恢复LED状态为熄灭,并将CHECKBOX的状态设置为0。这样完成了一次自动化的操作,输入对STemWin控件的高级应用。

    15.png

    16.png

    最后就完成了第一个很简单的设计,功能简单,便于坛友们进一步学习STemWin的操作。

    公布相关工程源码,基于keil5.15的IDE
    STM32F469_DemoPublic.zip (4.52 MB, 下载次数: 12, 售价: 1 与非币)
    回复

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-11-25 00:49 , Processed in 0.119761 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.