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

【H745I GUI】1.GreenHouse 灯光控制

[复制链接]
jundao721 发布时间:2025-5-2 20:09
      喜欢养花的小伙伴们肯定都有去控制花房里的温度,灯光,湿度等这些影响植物的参数的想法。利用ST自身的软硬件可以完成预期的想法。这次使用TouchGfx designer和板载的LED(右边LED8),实现软硬件交互,并熟悉整个的设置过程。$ E9 B% F9 y* I
效果如图1所示:
* A& v: I( K9 V( Z: g" V/ K 20250502.gif # a0 b1 S& V7 K# b3 N
图1) m0 c) l; E4 U7 a5 Y
( p# P. t: _; e2 `3 g! ]# h1 ?

9 r- e4 W, X( \6 l" _! X' p详细界面设计本次就不写了,这个都可以拖拽控件,背景图片自己PS一下光线效果。说说本次实现需要注意和遇到的问题。) l" R" u- b2 i# w5 k

% I$ }" a4 C( v3 i8 v& |2 S1.在touchgfx designer 4.25 中,Interaction交互界面增加要实现的功能,比如按钮与其他功能的交互。这里要实现和硬件交互,调用HAL库函数,需要增加一个虚拟函数,如图2所示:
3 z3 {; C0 x8 M  D% K 1.png
$ H$ L3 Q# n4 c  t9 u  W图2
' H* d% k' g8 j9 \. Z* Z' o" l) R你以为点击生成代码以后,会在项目中出现,实际在IDE项目文件中并没有出现,只能手动添加代码,如下所示:8 L" l- B  h8 g# N
  1. void MainView::ButtonClickedTurnOnLed()
    * X. k4 p7 n0 E3 s
  2. {
    ) D9 x1 J2 ^3 G/ m& H
  3.   HAL_GPIO_WritePin(GPIOD,GPIO_PIN_3,GPIO_PIN_SET);, p" Z  e0 a" t$ j# T( o' S7 B
  4. }
    9 A' O1 Z& T  V( Z# K1 _

  5. * ?* t" e8 a; T' d, y& u: E+ t
  6. void MainView::ButtonClickedTurnOffLed()
    9 l2 p, R* D$ e
  7. {
    5 ^9 s8 v! ~: \0 |1 S
  8.   HAL_GPIO_WritePin(GPIOD,GPIO_PIN_3,GPIO_PIN_RESET);
    / O  k4 G5 {3 V* Z1 ?& t
  9. }
复制代码
2.为什么不用MDK。本打算在keil里修改,编译缺少porttable.h, 发现是项目自动生成后,这个文件的路径错了,修改路径后,又提示缺少port.c文件,添加后,有提示一堆错误,哈哈,放弃该,使用IDE。
, f8 q! r. M6 U% a8 _% A) S  A( l3.在IDE中手动添加定义的虚拟函数后,又不能Debug,错误如图3所示:
8 A  L" T# u$ W5 m  | error2.png . Y2 i: F* T4 J% |! W+ `# |6 V
图33 _: ~! C" S. t0 P0 U5 f4 b: I
但是在TouchGfx designer中可以download,很神奇,那就直接download吧。8 i+ `0 D8 l" p, X
总体来说,使用过程中,不是特别理想,要是一边加控件一边修改代码是不是更方便一点,怎么能更容易实现想法,很多还需要慢慢摸索。
8 i. |+ M5 c" D, `: y- U2 @" K5 |7 a! z( M: v4 d
赞 收藏 评论0 发布时间:2025-5-2 20:09

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版