查看: 400|回复: 11

[评测分享] 【STM32H735-DK 测评】+TouchGFX实现温湿度的图表显示

[复制链接]
  • TA的每日心情
    慵懒
    昨天 00:01
  • 签到天数: 1775 天

    连续签到: 35 天

    [LV.Master]伴坛终老

    发表于 2024-3-24 21:24:28 | 显示全部楼层 |阅读模式
    分享到:
    上次实现了SHTC3的温湿度传感器的数据读取,本次就结合TouchGFX界面设计将温湿度数据显示到LCD界面图表上。根据之前的分享TouchGFX数据获取模型MVP模式实现温湿度数据显示。
    首先设计2个动态图表控件DynamicGraph
    1.png

    然后修改数据获取函数。在Model中读取硬件数据,最终传递给View显示。
    2.png

    在SHTC3初始化中使用I2C4外设,与LCD触摸共用的。使用TouchGFX生成的模板程序添加了SHTC3的驱动代码。
    在main中调用shtc3初始化。在Model.cpp中的Tick函数定时周期读取温湿度值。
    3.png

    最终编译下载,效果如下。对着温湿度传感器哈了口气后,可以看到湿度明显上升的波形。
    4.png

    5.png





    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    昨天 16:03
  • 签到天数: 83 天

    连续签到: 2 天

    [LV.6]常住居民II

    发表于 2024-3-24 21:31:38 | 显示全部楼层
    给大佬点赞
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    昨天 00:01
  • 签到天数: 1775 天

    连续签到: 35 天

    [LV.Master]伴坛终老

     楼主| 发表于 2024-3-24 21:51:04 | 显示全部楼层

    感谢大佬捧场
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    昨天 09:27
  • 签到天数: 99 天

    连续签到: 3 天

    [LV.6]常住居民II

    发表于 2024-3-24 23:05:31 | 显示全部楼层
    版主大佬,我认真的学习了你的帖子。但是我发现了一个问题,就是触摸屏用的IC是ft5336,它的地址是0x70,而你用的shtc3怨的地址也是0x70。那么请问,你是如何解决这两个器的地址冲突的?你的源码:
    微信截图_20240324225705.png

    然后触摸屏的地址也是0x70:
    微信截图_20240324230209.png
    请大佬多多指教呀。
    资料查找也是这么描述的:
    微信截图_20240324230446.png
    微信截图_20240324230335.png
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    昨天 00:01
  • 签到天数: 1775 天

    连续签到: 35 天

    [LV.Master]伴坛终老

     楼主| 发表于 2024-3-25 09:22:16 | 显示全部楼层
    eefocus_3914144 发表于 2024-3-24 23:05
    版主大佬,我认真的学习了你的帖子。但是我发现了一个问题,就是触摸屏用的IC是ft5336,它的地址是0x70,而 ...

    2.png
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    昨天 09:27
  • 签到天数: 99 天

    连续签到: 3 天

    [LV.6]常住居民II

    发表于 2024-3-25 09:23:47 | 显示全部楼层

    在实际的工程中,我试过了,如果你再初始化一下i2c4,触摸屏是不能工作的。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    昨天 00:01
  • 签到天数: 1775 天

    连续签到: 35 天

    [LV.Master]伴坛终老

     楼主| 发表于 2024-3-25 09:24:16 | 显示全部楼层
    eefocus_3914144 发表于 2024-3-24 23:05
    版主大佬,我认真的学习了你的帖子。但是我发现了一个问题,就是触摸屏用的IC是ft5336,它的地址是0x70,而 ...

    所以使用ST的HAL库读写I2C数据时注意,传递的器件地址一定要7bit地址左移一位
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    昨天 09:27
  • 签到天数: 99 天

    连续签到: 3 天

    [LV.6]常住居民II

    发表于 2024-3-25 09:30:25 | 显示全部楼层
    流水源 发表于 2024-3-25 09:24
    所以使用ST的HAL库读写I2C数据时注意,传递的器件地址一定要7bit地址左移一位 ...

    学习了学习了。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    昨天 00:01
  • 签到天数: 1775 天

    连续签到: 35 天

    [LV.Master]伴坛终老

     楼主| 发表于 2024-3-25 09:32:01 | 显示全部楼层
    eefocus_3914144 发表于 2024-3-25 09:23
    在实际的工程中,我试过了,如果你再初始化一下i2c4,触摸屏是不能工作的。 ...

    我没有重新初始化I2C4。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    昨天 09:27
  • 签到天数: 99 天

    连续签到: 3 天

    [LV.6]常住居民II

    发表于 2024-3-25 09:49:03 | 显示全部楼层
    在触摸IC中,他对i2c4进行了初始,他并没有声明hi2c4,如果需要使用他,如何对接。如果不对hi2c4进行对接,发送给温湿度传感器他是没有反应的,我昨天在做心率传感器时就是遇到这个问题。如果初始化一下hi2c4那触摸屏就不会工作。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-4-28 03:08 , Processed in 0.190729 second(s), 34 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.