touchgfx -- Integration
将UI连接到系统 在大多数应用程序中,UI需要以某种方式连接到系统的其余部分,并发送和接收数据。 这可以与硬件外围设备(传感器数据,A / D转换,串行通信等)接口,也可以与其他软件模块接口。 本文介绍了实现此连接的推荐解决方案。 第一种方法是“快速且肮脏的”方法,主要用于原型制作,而第二种方法是在架构上合理地将UI与现实应用程序中的其余组件连接的一种方法。 在本文的最后,我们链接到使用这两种方法的示例。 模型类 所有TouchGFX应用程序都有一个Model类,该类除了存储UI状态信息之外,还旨在充当您周围系统的接口。 这样,我们既指硬件外围设备,也指系统中的其他OS任务。 通常,访问各个View类中的其他软件模块或硬件不是一个好的设计。 Model类非常适合放置任何此类接口代码,因为: Model类具有tick()函数,该函数会在每帧中自动调用,并且可以实现为查找其他子模块中的事件并对事件做出反应。 Model类具有指向您当前活动的Presenter的指针,以便能够将传入事件通知UI。 硬件接口 方法1:直接从GUI任务采样 与硬件接口的最佳方法取决于您需要采样的频率,采样的时间和时间的紧迫性。 如果您在这些方面的要求比较宽松,那么最简单的方法就是直接在 Model::tick 功能中 。 如果采样发生的频率低于帧速率(通常在60Hz左右),则可以添加一个计数器