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

【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 发布时间:2024-12-23 20:28

举报

2个回答
lugl 回答时间:昨天 20:39
MyTemplate-bak.7z (23.14 MB, 下载次数: 0, 售价: 10 ST金币)
STMCU-管管 回答时间:10 小时前
希望出Demo之前多一些连载教程
, b* F6 E1 R1 n, f! x

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版