855|0

6842

帖子

11

TA的资源

版主

楼主
 

【STM32U599J-DK】TouchGFX之动态温度曲线 [复制链接]

TouchGFX之温度曲线
【前言】
touchGFX拥有强大的图表功能,特别是动态图表控件,可以这时展示数据曲线,今天就利用这个控件,实现实时温度曲线。
【硬件】
  1. STM32U599J-DK开发板。
  2. 开发上的stts22h温度传感器。
【开发软件】
  1. stm32CubeIDE。
  2. VScode
  3. TouchGFX 4.22.1
【学习资料】
【实现步骤】
  1. 创建空白工程:
  2. 添加动态图表工具到工程里:
  3. 添加背景图片与文字(略)大家可以自由发挥。
  4. 修改图表的属性:
到此图形界面设计完成,具体设置的参数大家可以参考教程。
【代码编写】
  1. 用stm32cubeIDE开启i2c3并将stts22h的驱动库加载到工程里面,添加驱动编译文件与路径:
  2. 在app_freertos.c中添回stts22h的驱动头文件,声明一个全局函数用于传寄获取到的温度值。在一个任务中循环读取stts22h的值。

    具体读取的驱动库我会附上源代码,大家可以自行查看,不在这篇的重点之中。
  3. 按照Model->Presenter->View的原则,逐一添回代码。
    1. 在model.hpp中,我们添加储存温度的变量与获取、保存的函数:
    2. 在model.cpp的tick函数中,我们每20个tick更新一次温度的值。
    3. 在screen1Presenter.hpp中我们实现一个获取温度值的函数:
          float getTemp()
          {
              return model->getTemp();
          }
    4. 在screen1View.hpp添加handleTickEvent虚函数,并在screen1Presenter.cpp中实现
    5. 在screen1View.cpp中实现每60个tick向图形控制中添加一个温度值数据点:
void Screen1View::handleTickEvent()
{
    tickCount ++;
    if(tickCount == 60)
    {
        dynamicGraph1.addDataPoint((int)presenter->getTemp());
        tickCount = 0;
    }
}
到此我们的代码与图形界面都设计完毕,在touchGFX Designer中编译下载。
【实现的效果】
附工程源码:
MyTEMP.zip (97.52 MB, 下载次数: 2, 售价: 1 分芯积分)
此帖出自stm32/stm8论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表