在大多数应用中,UI需以某种方式连接到系统的其余部分,并发送和接收数据。 它可能会与硬件外设(传感器数据、模数转换和串行通信等)或其他软件模块进行交互通讯。
Model类
所有TouchGFX应用都有Model类,Model类除了存储UI状态信息,还可用作面向周围系统的接口。 这里周围系统我们指的是在你整个系统中用到的硬件外设以及需要进行通讯的其他任务。 通常来讲,在各自的View类中直接访问其他软件模块或者硬件外设并不是个好的设计。
Model类非常适合放置任何此类接口代码,原因在于:
- Model类有
tick()
函数,会在每一帧自动调用,并且可实现用于查找来自其他子模块的事件或对事件作出反应。 - Model类有一个指向当前活动Presenter的指针,它能够将传入事件通知给UI。
以下示例为:通过button控件,触发数据发送给系统其他任务;该任务再将数据发回touchgfx任务。
首先程序需要touchgfx以外的一个任务,和两个用来收发数据的队列
然后创建一个button控件&#x