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

【STM32H750-DK 车辆仪表】2.与板卡交互

[复制链接]
jundao721 发布时间:2025-12-7 19:56

     上一篇中实现了界面,只是从软件上展示了界面,如何和硬件完成交互呢?
     看TouchGFX designer 说明,其结构使用的是MVP架构,view + presenter + model。简单讲呢,就是VIEW实现UI界面,Presenter实现数据中转,MODEL实现和硬件的交互。
      OK,理解了架构了,实现起来就容易多了。
      查看板卡的原理图,LED部分如图1所示:
2-1.png
图1

下面就是实现MVP架构的应用了。首先在VIEW的函数中加入presenter调用,如下:
  1. presenter->setLEDState(toggleButton1.getState());
复制代码


然后在presenter.cpp中调用model函数,如下:
  1. void Screen1Presenter::setLEDState(bool state)
  2. {
  3.     // Here you can add code to update the model or perform other actions based on the LED state
  4.     model->setLed(state);
  5. }
复制代码


在model.cpp中实现和硬件的交互,如下
  1. void Model::setLed(bool state)
  2. {
  3.   
  4.     if (state)
  5.     {
  6.         //modelListener->ledStateChanged(ledState);
  7.         //HAL_GPIO_WriterPin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET); // Example: Set the GPIO pin high to turn on the LED
  8.         HAL_GPIO_WritePin(GPIOD, GPIO_PIN_3, GPIO_PIN_SET); // Turn LED ON
  9.     }
  10.     else
  11.     {
  12.         HAL_GPIO_WritePin(GPIOD, GPIO_PIN_3, GPIO_PIN_RESET); // Turn LED OFF
  13.     }
  14. }
复制代码


当然,还要在相应的hpp文件中加入函数的初始化。


要调用板卡的HAL函数库,还需要在model.cpp中增加一部分代码,如下所示:
  1. extern "C" {
  2. #include "stm32h7xx_hal.h"
  3. #include "main.h"
  4. }
复制代码


OK,按照第一篇的下载方式,将程序下载到板卡中,效果如图2所示:
2-2.gif
图2
收藏 评论0 发布时间:2025-12-7 19:56

举报

0个回答

所属标签

相似分享

官网相关资源

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