你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【GUI板免费申请活动】STM32H745I-DISCO 环境监测

[复制链接]
lugl 发布时间:2024-12-23 20:28

1、使用touchgfxDesiger创建基于STM32H745的空白工程:

image.png

2、添加图片资源到MyTemplate\CM7\TouchGFX\assets\images\LiveDataDisplay

image.png

3、添加480*272的背景图片到工程中,并添加两个textArea到屏幕中。并添加合适的字体:

image.png

4、为两个textArea添加缓冲,方便后期动态显示字符串。

image.png

5、生成工程,然后打开路径中的STM32CubeMX的工程文件。在project中添加生成MDK工程:

image.png

6、使用mdk打开工程,拷贝一个sht3x的驱动到mkd工程中。并添加头文件路径到工程之中。

image.png

7、查找开发板的原理图,我们这里采用标准的Arduino接口中的SCL、SDA,即为D15、D14。

image.png

8、由于此I2C4与开发板上的触摸屏共用i2c4,所以无需进行初始化。在sht3x中直接用extern来声明就可以使用了。

image.png

9、定义sht3x的结构体,方便用结构进行FreeRTOS的数据传递。

typedef struct {
      uint8_t dat[6];  //用于读取sht3x的缓冲,6个字节
    float temperature; //转化后的温度值
    float humidity;    //转化后的湿度
} _sht3x; 

10、读取温度值函数:

{

HAL_StatusTypeDef res;

SHT30_Reset();

SHT30_Init();

osDelay(200);

res = SHT30_Read_Dat(me->dat);

if(res == HAL_OK)

{

res = SHT30_Dat_To_Float(me->dat, &me->temperature, &me->humidity);

if(res)

{

U3_printf("CRC erro\r\n"); }

return res; }

else if(res == HAL_ERROR)

{

U3_printf("I2C read data error\r\n");

return HAL_ERROR; }

else

{

U3_printf("I2C read data HAL_BUSY\r\n");

return HAL_BUSY; } }

此函数传入为上面定义的结构体,返回为读取的装态。

11、在stm32cubeMX中添加一个消息队列,用于给TouchGFX传递信号:

image.png

12、在StartDefaultTask任务中添加采集温度的代码,每隔1秒钟采集一次,如果采集出来的数据正确,将消息发出到队例。

/ USER CODE END Header_StartDefaultTask /

void StartDefaultTask(void *argument)

{

/ USER CODE BEGIN 5 /

/ Infinite loop /

uint8_t sht3x_flage;

osDelay(2000); for(;;)

{

sht3x_flage = sht3x_get_data( &sht3x_dat);

if(0 == sht3x_flage)

{

osMessageQueuePut(myQueueSht3xHandle, &sht3x_dat, 0U, 0U); } osDelay(1000); }

/ USER CODE END 5 /

}

13、在Model.cpp中的tick中读取消息,如果读取成功,则将数据经Present传送给view进行数据展示。

Model.cpp 调用ModelListener的设置函数

image.png

ModelListener.hpp 在这里声明虚拟函数

image.png

Screen1Presenter.hpp 在这里声明虚拟函数

image.png

Screen1Presenter.cpp 在这个函数里实现对view的调用。

image.png

Screen1View.hpp 这里声明实现的虚拟函数

image.png

Screen1View.cpp  在这里实现对两个texArea的动态修改。

image.png

到此,工程已经完成。

【实现效果】

image.png

【总结】

这次感谢st中文论坛,给了我这块STM32H745I-DISCO开发板,这块开发板可谓功能强大,经过几天的学习摸索,先把基本环境搭建好,做了一个基础的工程,后面将在这一个工程上扩展更多好玩的GUI—DEMO。

image.png
image.png
2 收藏 1 评论5 发布时间:2024-12-23 20:28

举报

5个回答
lugl 回答时间:2024-12-23 20:39:33
MyTemplate-bak.7z (23.14 MB, 下载次数: 0)
STMCU-管管 回答时间:2024-12-24 10:07:56
希望出Demo之前多一些连载教程
背影101 回答时间:2025-2-19 12:19:19

老哥,开发板的原理图能分享下吗?

lugl 回答时间:2025-2-20 08:41:00

背影101 发表于 2025-2-19 12:19
老哥,开发板的原理图能分享下吗?

官方有下载的

背影101 回答时间:2025-2-20 15:36:26

lugl 发表于 2025-2-20 08:41
官方有下载的

找到了😄

所属标签

ST中文论坛活动

即日起开启活动话题入口,之后的活动统一都放在此处,欢迎大家的加入!


最新内容

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版