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

【H745I GUI】1.GreenHouse 灯光控制

[复制链接]
jundao721 发布时间:2025-5-2 20:09
      喜欢养花的小伙伴们肯定都有去控制花房里的温度,灯光,湿度等这些影响植物的参数的想法。利用ST自身的软硬件可以完成预期的想法。这次使用TouchGfx designer和板载的LED(右边LED8),实现软硬件交互,并熟悉整个的设置过程。
6 p  i9 k4 ]9 u' n效果如图1所示:
8 s& X9 n* y1 a- l 20250502.gif
+ I; }8 A8 \- E( o图13 p+ t: x) f  D6 Q7 w8 o8 ?2 \
' r* [) v3 K# B

! E9 x9 [3 f/ B8 F1 D* Z% y. v5 h& i详细界面设计本次就不写了,这个都可以拖拽控件,背景图片自己PS一下光线效果。说说本次实现需要注意和遇到的问题。1 X* Z6 S9 C/ C3 r$ M' i9 ]2 y

/ |3 T1 v9 i/ t5 ~6 a, z0 o! _1.在touchgfx designer 4.25 中,Interaction交互界面增加要实现的功能,比如按钮与其他功能的交互。这里要实现和硬件交互,调用HAL库函数,需要增加一个虚拟函数,如图2所示:+ w2 a5 ~! n, ~" c
1.png
2 N$ I% F7 W7 b  z# r1 P图2: f  a: ?5 T- t
你以为点击生成代码以后,会在项目中出现,实际在IDE项目文件中并没有出现,只能手动添加代码,如下所示:" z& f5 o! j2 V1 R, y
  1. void MainView::ButtonClickedTurnOnLed()3 K( ^$ [* i& P+ g" }3 Q4 [
  2. {" I8 O! l- i) y# @& S* f1 a$ w+ N
  3.   HAL_GPIO_WritePin(GPIOD,GPIO_PIN_3,GPIO_PIN_SET);+ g4 ]& A2 A. R( u7 y% l
  4. }
    7 |  T8 I4 A8 x! G$ Q; R% w

  5. 3 c' K+ v; X, G1 T
  6. void MainView::ButtonClickedTurnOffLed()
    ( ?- q; z/ k: U2 t+ V2 q
  7. {; Y" Z6 x* z+ G
  8.   HAL_GPIO_WritePin(GPIOD,GPIO_PIN_3,GPIO_PIN_RESET);
    1 ]0 w6 R+ Q5 m4 E$ ~5 ?
  9. }
复制代码
2.为什么不用MDK。本打算在keil里修改,编译缺少porttable.h, 发现是项目自动生成后,这个文件的路径错了,修改路径后,又提示缺少port.c文件,添加后,有提示一堆错误,哈哈,放弃该,使用IDE。; l, x! ~1 b4 c3 Q) a) Q6 B( Z
3.在IDE中手动添加定义的虚拟函数后,又不能Debug,错误如图3所示:
' f. o! N# v& V3 b+ n error2.png : Z6 W; Q  m" @% l. h; P/ M
图3
) ]9 R! b, g7 R/ D- i! {但是在TouchGfx designer中可以download,很神奇,那就直接download吧。9 y3 a8 |3 C0 }% K& m
总体来说,使用过程中,不是特别理想,要是一边加控件一边修改代码是不是更方便一点,怎么能更容易实现想法,很多还需要慢慢摸索。
& K) a. O  n" S* Q# W! e
6 ~3 l. K6 b! F. I/ |
赞 收藏 评论0 发布时间:2025-5-2 20:09

举报

0个回答

所属标签

相似技术帖

官网相关资源

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