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

【GUI板卡测评】1.H750开箱及简单模拟时钟

[复制链接]
电子烂人 发布时间:2025-3-1 14:26
0.前言
年前申请了H750开发板,这个板子和H745是一样的外设,只有芯片不同。先写一篇开箱,尝试做个简单的菜单DEMO。
1.开箱
正常包装如图,和最新的纸盒包装不同,是那种有点年头的塑封包装,应该是库存货,不过这并不影响做产品DEMO和示例
image.jpg 0 h; Y: [. A* U) b% e: g
除板子以外还有一块FANOUT board,用来接外扩展模块和传感器,不过这次用不到这个小板子。
2. 应用
先试一下RTC和时钟
RTC配置如下:
image.png
2 C4 a7 l% o0 |+ j2 E, D! q
TOUCHGFXMODEL中调用RTC组件;同时配置对应的.H文件
extern RTC_HandleTypeDef hrtc;
extern RTC_TimeTypeDef RTC_Time;
extern RTC_DateTypeDef RTC_Date;
Model::Model() : modelListener(0)
{
}
void Model::tick()
{
HAL_RTC_GetTime(&hrtc, &RTC_Time, FORMAT_BIN);
HAL_RTC_GetDate(&hrtc, &RTC_Date, FORMAT_BIN);
modelListener->updateTime(RTC_Time.Hours, RTC_Time.Minutes, RTC_Time.Seconds);
}
在页面中添加一个模拟时钟组件,因为是竖屏,所以这里我选的是最大号的,
image (1).png
  e$ D$ v, X! I9 u" K
经常看各种指针有点乏味了?不妨吧指针图片修改一下,改成两个半圆组合的圆形:
image (2).png
9 x+ T9 M, s7 [/ t5 P% s
插入后如图
image (3).png 8 \: b* J. q7 ^, q/ W
调用代码,使得该页面时每段时间都读取RTC中的数值
void AnalogScreenPresenter::updateTime(uint8_t hour, uint8_t minute, uint8_t second)
{
view.updateTime(hour, minute, second);
}
不过,这种每次都要运行到对应函数,才能调用RTC读取代码,实际应用会感觉有些卡顿,指针的速度忽快忽慢:
8 A( c6 g# B, ]* ^# ^# v* e* U
这里参考官方WIKI的办法,添加一组计时器TickCounter,指针部分使用Counter并使能,抛弃部分准确度来获得更流畅的动画效果
image (5).png 5 L. g$ @+ v  A( O4 l$ ?9 I+ M$ [
代码如下:
void AnalogScreenPresenter::handleTickEvent()
{
    tickCounter++;
    if (tickCounter % 60 == 0)
    {
        if (++second >= 60)
        {
            analogSeconds = 0;
            if (++minute >= 60)
            {
                analogMinutes = 0;
                if (++hour >= 24)
                {
                    hour = 0;
                }
            }
        }
  view.updateTime(hour, minute, second);
    }
最后效果如图:
image (4).png
% h7 W1 r$ G! W  R* A, Y8 f" E7 v
收藏 评论0 发布时间:2025-3-1 14:26

举报

0个回答

所属标签

相似分享

官网相关资源

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