STM32H735-DK开发板带有一个电容触摸液晶屏,可以用于界面设计,而且ST的TouchGFX也有针对这个开发板的例子。下面我就用TouchGFX来试一试。
首先打开TouchGFX软件,选择STM32H735-DK开发板创建新项目。
然后设置项目名称和路径,并创建项目。
新创建之后就到了界面设计了。这里就可以拖动控件到界面上设计画面了。
下面以动态图表DynamicGraph为例,拖一个控件到画布上。设置图标属性。
设置图表属性后,效果如图。使用了x,y标签及数据范围。图标模式使用点和线。
下面看看PC模拟效果。这时图标的点是静止的,因为程序没有添加新的数据,都是初始化随机的数据点。
下面下载到开发板上看看实际效果。
打开如下文件编辑红框内软件路径。保存后我们就可以直接在TouchGFX内下载了。
这里显示下载成功了。
可以看到开发板硬件效果和PC上模拟一样。
接下来咱们试试程序中添加数据点看看效果。 本次通过MVP模式方式添加数据到图表上显示。Model.c与硬件数据交互获取数据,然后通过Presenter发送数据到View界面显示。
首先添加一个按钮功能,通过点击按钮就向图表添加一个数据点。
按钮添加事件调用Presenter处理,然后Presenter调用Model处理。在Model处理中就可以将数据发回View界面显示,或者控制硬件。
下面就是Model获取的数据返回到View上显示。
下面函数 int Model::GetPointData()模拟数据,这里数据可以是温度传感器数据,也可以来自串口数据,还可以是其他数据来源。最终数据到图表上显示数据波形。
编译代码测试一下效果。预期是按一下按钮,图标上就会显示波形数据点了。
下载到硬件开发板上效果如下。
我们也可以通过定时发送数据到图表显示。在Model::Tick中添加定时发送数据。
最终可以看到图表上定时有数据更新了。
以上就是touchGFX的MVP数据模式的应用方式了。
|