美文网首页STM32_GUI designTouchGFXTouchGFX
使用TouchGFX开发STM32界面应用之入门篇(三)-- 多

使用TouchGFX开发STM32界面应用之入门篇(三)-- 多

作者: 海东青电子 | 来源:发表于2019-02-27 19:15 被阅读0次

    【注:这是《TouchGFX入门篇(三)-- 多屏呈现与MVP框架》文章的第二部分的续篇,之前的部分请看这里

    之前我们已经完成了2个Screen的创建,以及他们之间的相互切换和数据交换。下面继续实现时钟的走时和圆弧的动画。

    为了让时间显示不断变化,一个通常的想法是:利用STM32的定时器。而在touchgfx中,实现这个功能变得更加简单:touchgfx直接提供了一个“滴答”函数(以及自动运行这个功能的机制)---- handleTickEvent()。限于文章篇幅,关于这个函数的具体解释请见touchgfx的API说明手册,这里直接展示如何应用他:

    图一

    上图中在Screen2View.hpp中添加了 handleTickEvent() 函数声明和一个变量 tickCount (记录tick的数值,逢60进位)。然后在Screen2View.cpp中实现handleTickEvent() :

    图二

    模拟器运行效果如下:

    图三

    还需要最后一步:处理圆弧,让他动起来!圆弧动画的原理:定时更新圆弧的起始位置和结束位置。增加2个变量addStart、addEnd,分别控制首末位置的“增量”,addStart==2、addEnd==1时,起始位置变得快、结束位置变得慢,看起来就是圆弧长度在缩短;反之,圆弧长度则不断变长(不理解这个算法没关系,看下面图示):

    图四 图五 图六

    细心的你可能已经看到:设置页面里设置的是分钟,但运行页面里分钟却是按秒变化的 ---- 这个bug留给你修改吧。

    最后,烧写到目标板上跑跑看!(本讲完毕)

    相关文章

      网友评论

        本文标题:使用TouchGFX开发STM32界面应用之入门篇(三)-- 多

        本文链接:https://www.haomeiwen.com/subject/dlgfuqtx.html